Tôi cố gắng để tải một module sử dụng require.js, và tôi có sau trong app.js tôi:require.js không tải bất kỳ module
require.config({
baseUrl: "js"
});
alert("hello world"); // for debugging
require(['eh2'], function(eh2) {
alert("nothing here"); // for debugging
});
Khi tôi chạy ứng dụng của tôi, tuy nhiên, mặc dù app.js đang được tải, mô-đun tôi đang yêu cầu không bao giờ được tải - "hello world" thực hiện, nhưng "không có gì ở đây" thì không!
thẻ Kịch bản của tôi trong trang HTML trông như thế này:
<script type="text/javascript" src="js/lib/require.js" data-main="app"></script>
Và eh2.js nằm trong thư mục js, và nó được bọc trong một tuyên bố xác định:
define(["./screens/Screens"], function(screens) {
return {
// code here
};
});
gì tôi đang làm sai à? Là require.js âm thầm không tải một số submodule dưới screens.js, có lẽ?
Đây là mã từ Screens mô-đun:
define([ "screens/TitleScreen", "screens/GameScreen" ], function(titleScreen, gameScreen) {
return {
screenFuncs: {
"TitleScreen" : titleScreen.TitleScreen,
"GameScreen" : gameScreen.GameScreen,
},
buildScreen: function(data) {
var func = screenFuncs[data.type];
var screen = new func(data.params);
return screen;
},
};
});
Do các đường dẫn trong các cuộc gọi xác định cần phải được tương đối so với vị trí hiện tại của tập tin js Tôi đang ở, hoặc vào thư mục gốc quy định tại app.js, dù sao đi nữa?
Bất kỳ lỗi trên chrome console hoặc firebug? –
thử 'define (" eh2 ", [" ./screens/Screens "], ...);'. Ngoài ra kiểm tra xem kịch bản màn hình có được tải chính xác hay không - hãy xem bảng điều khiển mạng của bạn – Bergi
require.js thường sẽ không bị lỗi, bạn sẽ gặp lỗi (đôi khi chúng có thể bị trì hoãn). Đảm bảo cũng bật tính năng ghi nhật ký yêu cầu không đồng bộ trong bất kỳ công cụ gỡ lỗi trình duyệt nào bạn đang sử dụng. –