javascript - 如何设置 ember 引擎?

标签 javascript node.js ember.js ember-engines

我用 ember-engines 0.4.0ember-cli 2.10.0< 创建了一个独立的可路由引擎.

如果我调用引擎索引路由 (/thingy/),我会收到此错误:

断言失败: Assets list 未列出任何可用的包。

消费应用router.js:

this.mount('thingy-frontend', { as: 'thingy', path: 'thingy' });

引擎应用routes.js:

this.route('index', { path: '/' });

引擎通过符号链接(symbolic link)“安装”在使用 ember-cli 应用程序的 node_modules/ 目录中。 (See here why)。

只是为了好玩,我尝试更改路线以测试它是否有效......

消费应用router.js:

this.mount('thingy-frontend', { as: 'thingy' });

引擎应用routes.js:

this.route('index', { path: 'new' });

我调用了 /thingy/new 并得到了一个 UnrecognizedURLError。或者,如果我调用根路径,我会得到一个 Assertion Failed: Asset manifest does not list any available bundles.

此外,如果我将 console.log('...'); 放在引擎 index.js 中,我也看不到任何输出。好像根本没有加载。

该设置的灵感来自官方 README 和官方示例库。

知道如何修复此 Ember 引擎设置吗?

您可以在 GitHub 上找到存储库:

最佳答案

我们可以解决这个问题。出现了几个问题,我将与您分享我们所做的:

1。添加 ember-engines 作为依赖项(不仅仅是开发依赖项)

您必须添加 ember-engines作为 package.json 中的依赖项应用程序和引擎。所以我们改变 package.json到:

"dependencies": {
  "ember-cli-htmlbars": "^1.0.10",
  "ember-cli-babel": "^5.1.7",
  "ember-data": "^2.10.0",
  "ember-engines": "0.4.0"
}

别忘了 npm install .

2。将实际引擎添加到 package.json

即使它不像我们的例子那样在 node_modules 中公开和符号链接(symbolic link),您也必须将引擎添加到 package.json .

在我们的例子中是 "thingy-frontend": "*" .

别忘了 npm install .

3。检查符号链接(symbolic link)名称

在我们的例子中,符号链接(symbolic link)具有引擎库的名称,而不是实际的引擎名称。那行不通的。我们改变了 thingy-frontend 的符号链接(symbolic link)名称(这是来自引擎的名称 index.js )。

4。使用正确的解析器

您必须确保 addon/engine.js 中的两者和 app/resolver.js使用 ember-resolver .

5.加载 Assets list 失败。

这可能是 ember-engines 中的错误.有关更多详细信息,请参阅问题:https://github.com/ember-engines/ember-engines/issues/282#issuecomment-268834293

您可以通过手动添加 <meta /> 来解决该问题-标记到 <head> (参见上面的 GitHub 问题链接)

非常感谢Michael Donaldson !

关于javascript - 如何设置 ember 引擎?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41207713/

相关文章:

javascript - 使用 JQuery 事件名称作为类名称是否安全?

sql - 请求错误: Validation failed for parameter- Invalid buffer

c++ - Node.js 插件计时器上下文

Ember.js 路由器 v2 和注入(inject) Controller

javascript - Ember - 如何 'save' DOM 状态

javascript - Ember 1.0,Ember 数据 beta 3 : getting related model data with DS. FixturesAdapter

javascript - 循环使用由日期设置的可变链接的图像

javascript - 使用 RaphaelJS 进行动画缩放

javascript - AngularJS Controller 未执行

javascript - 如何使用 node.js 和请求包禁用 HTTP header 中的 'withcredentials'?