2015-11-01 40 views
1

我在从我的ember-cli应用程序中导入节点模块时遇到了一些麻烦。 在我的笔记本/ route.js,我有错误:无法找到从路由导入的模块`eventsource`

import Ember from 'ember'; 
import EventSource from 'eventsource'; 

我看到其他文件中导入像“烬数据”这样的其他节点模块。 但是我得到了在控制台下面,当我浏览到这条路线:

Error: Could not find module `eventsource` imported from `ui/notebooks/route` 
at requireFrom (loader.js:110) 
at reify (loader.js:97) 
at mod.state (loader.js:140) 
at tryFinally (loader.js:21) 
at requireModule (loader.js:139) 
at Ember.DefaultResolver.extend._extractDefaultExport (ember-resolver.js:390) 
at resolveOther (ember-resolver.js:122) 
at superWrapper (ember.debug.js:21571) 
at exports.default._emberRuntimeSystemObject.default.extend.resolveRoute (ember.debug.js:5014) 
at exports.default._emberRuntimeSystemObject.default.extend.resolve (ember.debug.js:4847) 

我安装使用NPM安装的EventSource --save节点模块,它产生在我的package.json如下:

"devDependencies": { 
"body-parser": "^1.14.1", 
"broccoli-asset-rev": "^2.1.2", 
"ember-cli": "1.13.8", 
"ember-cli-app-version": "1.0.0", 
"ember-cli-babel": "^5.1.3", 
"ember-cli-dependency-checker": "^1.0.1", 
"ember-cli-htmlbars": "1.0.1", 
"ember-cli-htmlbars-inline-precompile": "^0.3.1", 
"ember-cli-ic-ajax": "0.2.1", 
"ember-cli-inject-live-reload": "^1.3.1", 
"ember-cli-qunit": "^1.0.0", 
"ember-cli-rails-addon": "0.0.12", 
"ember-cli-release": "0.2.3", 
"ember-cli-showdown": "2.5.0", 
"ember-cli-sri": "^1.0.3", 
"ember-cli-uglify": "^1.2.0", 
"ember-data": "2.1.0", 
"ember-disable-proxy-controllers": "^1.0.0", 
"ember-export-application-global": "^1.0.3", 
"express": "^4.13.3", 
"glob": "^4.5.3", 
"morgan": "^1.6.1", 
"nedb": "^1.2.1" 
}, 
"dependencies": { 
    "eventsource": "^0.1.6" 
} 

这似乎是一个有效的节点封装,采购here

任何人可以帮助阐明这一些轻?新的烬和节点,但不是Javascript ...我是一个铁轨开发人员。

谢谢!

回答

3

您不能将每个npm模块导入Ember CLI应用程序,只是因为它是npm模块。

只能将import关键字与特殊的npm包一起使用 - Ember CLI插件,它为您的应用程序公开了一些公共API。

+0

我明白了 - 因为它不在凉亭里,所以我只是把它包括进去,就像我会购买任何javascript的服务资源一样? –

+0

我认为你必须创建Ember CLI插件,然后你可以在那里需要事件源模块。例如,看看它是如何使用uglify完成的 - https://github.com/ember-cli/ember-cli-uglify/blob/master/index.js。第15行。 –

+0

是的,与SimpleWebRTC相同的问题。用'ember-cli-node-assets'解决。 –