过去几个小时我一直坚持这个问题。我试图通过requirejs正确加载autobahnjs和whenjs。
require.config({
paths: {
angular: '../bower_components/angular/angular',
angularBootstrap: '../bower_components/angular-bootstrap/ui-bootstrap',
bootstrap: '../bower_components/bootstrap/dist/js/bootstrap',
jquery: '../bower_components/jquery/jquery',
chosen: '../bower_components/chosen/chosen.jquery.min',
text: '../bower_components/requirejs-text/text',
autobahn: '../bower_components/autobahnjs/autobahn/autobahn'
},
packages: [
{ name: 'when', location: '../bower_components/when/', main: 'when' }
],
baseUrl: '/bundles/example/app/scripts/',
shim: {
angular : {
exports : 'angular'
},
angularBootstrap: {
deps: ['angular']
},
autobahn: {
deps: ['when']
}
},
priority: [
'angular'
]
});
require
( [
'angular',
'app',
'autobahn',
'angularBootstrap',
'jquery',
'bootstrap',
'chosen',
'controllers/event',
'services/notify'
], function(angular, app) {
// more code here
});
Autobahnjs依赖于whenjs。加载所有文件(并按正确的顺序)。但当始终未定义时。我完全不知道我做错了什么。我已经尝试了各种方法来解决它。如果这有助于任何人复制问题,我也有一个bower.json文件。提前谢谢。
编辑:Autobahnjs does not currently support AMD。然而,当js确实支持它时。
答案 0 :(得分:2)
正如您已经注意到的那样,向AutobahnJS添加requirejs支持存在问题。 AutobahnJS中还有更多嵌入式内容,用于“方便”,主要是来自cryptojs的部件。
挑战很简单:如何最好地为所有用户提供服务,无论他们使用的是什么模块加载器,以及他们是否需要便利(捆绑的东西)或者更喜欢将东西分开(并自己管理/加载)。< / p>
我不能保证,但我试图优先解决它。但是,为了进一步讨论,我认为最好的地方是GitHub问题。
答案 1 :(得分:0)
现在在v0.8.0中已经implemented