首次使用RequireJS。有一些代码工作,但现在不是。
将require.js
单独包含在index.html
中,如此。
<script data-main="scripts/main" src="bower_components/requirejs/require.js"></script>
main.js
提供app.js
require.config({
paths: {
jQuery: "libs/jquery-2.0.3.min",
kendo: "libs/kendo.mobile.min",
Parse: "libs/parse-1.2.16.min"
},
shim: {
jQuery: {
exports: "jQuery"
},
kendo: {
deps: [ "jQuery" ],
exports: "kendo"
},
Parse: {
exports: "Parse"
}
}
});
var app;
require([ "app/app" ], function(application) {
app = application, app.init();
});;
app.js
define(["jQuery", "kendo", "Parse", "app/utils", "app/config"], function ($, kendo, Parse, utils, config) {
var _onError = function (error, url, line) {
utils.showError(error);
};
var init = function () {
var kendoApp = new kendo.mobile.Application(document.body, {
// options
});
Parse.initialize(config.parseAppId, config.parseJSKey);
console.log('test1');
utils.init(kendoApp);
};
return {
config: config,
init: init,
// others
}
});
但utils.init不会触发。
define([], function() {
console.log('test3');
var _kendoApp;
return {
init: function(kendoApp) {
_kendoApp = kendoApp;
console.log('test2');
},
结果:我看到“test1”,但不是“test2”或“test3”。正在加载utils.js(标题中200状态正常)。