我正在拼命尝试通过 Bower 在 Ember CLI 中包含 SockJS。我尽可能地关注文档。这些是似乎几乎可以工作的步骤:
- 添加
"sockjs-client": "0.3.4"
到bower.json
- 跑了
bower install
将以下内容添加到
Brocfile.js
app.import('vendor/sockjs-client/lib/index.js', {'sockjs': ['sockjs'] });
添加
import { SockJS as SockJS } from 'sockjs';
到我的模块中。我也尝试过import SockJS from 'sockjs';
各种其他组合......
这至少似乎编译和ember server
运行没有错误。但是,一旦我在浏览器中打开该页面,我就会收到以下错误:
Uncaught ReferenceError: SockJS is not defined
创建的显示错误的源代码如下所示:
SockJS = (function(){
var _document = document;
var _window = window;
var utils = {};
<!-- include lib/reventtarget.js -->
<!-- include lib/simpleevent.js -->
<!-- include lib/eventemitter.js -->
<!-- include lib/utils.js -->
<!-- include lib/dom.js -->
<!-- include lib/dom2.js -->
<!-- include lib/sockjs.js -->
<!-- include lib/trans-websocket.js -->
<!-- include lib/trans-sender.js -->
<!-- include lib/trans-jsonp-receiver.js -->
<!-- include lib/trans-jsonp-polling.js -->
<!-- include lib/trans-xhr.js -->
<!-- include lib/trans-iframe.js -->
<!-- include lib/trans-iframe-within.js -->
<!-- include lib/info.js -->
<!-- include lib/trans-iframe-eventsource.js -->
<!-- include lib/trans-iframe-xhr-polling.js -->
<!-- include lib/trans-iframe-htmlfile.js -->
<!-- include lib/trans-polling.js -->
<!-- include lib/trans-receiver-eventsource.js -->
<!-- include lib/trans-receiver-htmlfile.js -->
<!-- include lib/trans-receiver-xhr.js -->
<!-- include lib/test-hooks.js -->
return SockJS;
})();
在 Ember CLI 中包含 SockJS 的正确方法是什么?
编辑
经过更多的试验和错误,我从浏览器的角度得到了以下工作:
西兰花.js:
app.import('vendor/bower-sockjs-client/sockjs.js', {
'sockjs-client': ['sockjs-client']
});
module.exports = app.toTree();
bower.json:
"dependencies": {
"handlebars": "~1.3.0",
"jquery": "^1.11.1",
"qunit": "~1.12.0",
"ember-qunit": "~0.1.5",
"ember": "1.5.1",
"ember-resolver": "~0.1.1",
"loader": "stefanpenner/loader.js#1.0.0",
"ember-cli-shims": "stefanpenner/ember-cli-shims#0.0.2",
"ember-load-initializers": "stefanpenner/ember-load-initializers#0.0.2",
"ember-qunit-notifications": "^0.0.1",
"ember-cli-test-loader": "rjackson/ember-cli-test-loader#0.0.2",
"bower-sockjs-client": "0.3.4"
}
并且模块内没有任何导入。
这让 Ember CLI 抱怨了很多:'SockJS' is not defined.
但它至少现在可以工作。我正在做的事情有什么问题吗,或者这是 Ember CLI 中的错误?