在嵌入式应用程序中不起作用的位置历史记录:ember js

时间:2015-12-22 17:38:00

标签: javascript ember.js

我有一个大型应用程序,希望在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' );
    }
});

我气馁但一切都按原样运作

1 个答案:

答案 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