我有一个大型应用程序,希望在Ember js上实现一部分功能。
有一些页面位于此路径/item/item_id_here/profile/documents
只有文件必须是Ember app。
我用ember cli创建了新的ember项目。并包含到我的基础项目vendor.js和ember.js中的文档页面,其中router是:
import Ember from 'ember';
import config from './config/environment';
const Router = Ember.Router.extend({
});
Router.map(function() {
this.route('test');
});
Router.reopen({
location: 'history'
});
export default Router;
当我在控制台中运行应用程序时显示错误
UnrecognizedURLError: /item/item_id_here/profile/documents
当我尝试更改时:
Router.reopen({
location: 'hash'
});
一切都运作良好。
我和Ember有点合作,所以我开始认为我的情况很正常。但我决定仔细检查并直接将ember包含在我的基本项目中,而不需要使用ember cli等。例如:
window.App = Ember.Application.create({
rootElement: '#ember-app'
});
App.Router.reopen({
location: 'history'
});
App.Router.map(function() {
this.route('test');
});
App.IndexRoute = Ember.Route.extend({
model: function() {
alert( 'index' );
}
});
App.TestRoute = Ember.Route.extend({
model: function() {
alert( 'test' );
}
});
我气馁但一切都按原样运作
答案 0 :(得分:0)
您需要为ember应用配置baseURL
。将以下内容放在config\environment.js
中,重新启动ember-cli
,您应该好好去。
module.exports = function(environment) {
var ENV = {
environment: environment,
baseURL: '/item/item_id_here/profile/documents/'
有关如何部署到不是Ember CLI指南中根目录的URL,请参阅instructions here。