pho*_*rtx 2 javascript node.js ember.js ember-engines
我已经创建了一个独立的路由引擎ember-engines 0.4.0,ember-cli 2.10.0.
如果我调用引擎索引route(/thingy/),我会收到此错误:
Assertion Failed: Asset manifest does not list any available bundles.
消费App router.js:
this.mount('thingy-frontend', { as: 'thingy', path: 'thingy' });
Run Code Online (Sandbox Code Playgroud)
引擎应用routes.js:
this.route('index', { path: '/' });
Run Code Online (Sandbox Code Playgroud)
通过node_modules/消费ember-cli应用程序目录中的符号链接"安装"引擎.(见这里原因).
只是为了好玩,我试图改变路线,以测试是否有效......
消费App router.js:
this.mount('thingy-frontend', { as: 'thingy' });
Run Code Online (Sandbox Code Playgroud)
引擎应用routes.js:
this.route('index', { path: 'new' });
Run Code Online (Sandbox Code Playgroud)
我打电话给/thingy/new了一个UnrecognizedURLError.另外,如果我调用根路径,我会得到一个Assertion Failed: Asset manifest does not list any available bundles.
此外,如果我console.log('...');在引擎中放置一个index.js,我看不到任何输出.好像它根本没有加载.
该设置的灵感来自官方README和官方示例回购.
知道如何修复此Ember引擎设置吗?
你可以在GitHub上找到回购:
我们可以解决这个问题.有几个问题,我将与您分享我们做了什么:
您必须在应用程序和引擎中添加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"
}
Run Code Online (Sandbox Code Playgroud)
别忘了npm install.
即使它在node_modules中不是公共的和符号链接的,就像我们的情况一样,你必须将引擎添加到package.json.
在我们的例子中,这是"thingy-frontend": "*".
别忘了npm install.
在我们的例子中,符号链接具有引擎repo的名称而不是实际的引擎名称.那不行.我们将符号链接名称更改为thingy-frontend(这是引擎中的名称index.js).
你必须确保,在addon/engine.js和app/resolver.js使用中ember-resolver.
这可能是一个错误ember-engines.有关详细信息,请参阅该问题:https://github.com/ember-engines/ember-engines/issues/282#issuecomment-268834293
您可以通过手动添加<meta />-Tag来解决该问题<head>(请参阅上面的GitHub问题链接)
非常感谢Michael Donaldson!
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           1676 次  |  
        
|   最近记录:  |