我一直在使用之前需要,但從來沒有碰到了這個問題, 也許我有一個路徑錯誤的地方,但這個是我filestructure:requirejs無法找到模塊返回undefined
js
├───main.js
│
├───app
│ ├───app.js
│ ├───hello.js
│ ├───world.js
│ │
│ └───models
│ └───game.js
│
└───vendor
├───jquery.js
└───require.js
main.js
require.config({
paths: {
'jquery': '../js/vendor/jquery'
},
shim: {
'jquery': {
exports: '$'
}
}
});
require(['app/app', 'jquery', 'app/models/game'], function (App, $, Game) {
console.log(arguments);
$(function() {
console.log('why is my App undefined?', App);
App.init();
});
});
應用程序/ app.js
define('App', ['hello', 'world'], function (hello, world) {
var App = {};
App.init = function() {
alert(hello + ' ' + world);
};
return App;
});
代碼火災正常的,但是我DEPE應用程序或hello或世界模塊的應用程序似乎失敗,應用程序日誌爲未定義,所以我的遊戲模塊。
應用程序/應用程序應該是我的應用程序模塊的正確路徑或我認爲是錯誤的?
更新
我想爲App資本的固定問題(但在同一時間,我把在Jlange的評論擺動,所以我從index.html
。這似乎確定發射了app/App
模塊,但持續的發展後,從內再次出現了。
我可以加載在同一目錄下的每個模塊就好了,但我不能從子目錄模塊。
就像最初的例子無法加載應用程序/應用程序主模塊e,app/App模塊也可以不導入模型/遊戲模塊。
我從字面上不知道這可能是什麼,就像我之前說過的,我曾經與requirejs合作過,並沒有遇到過這個問題。
更新2 我可以做,如果我把所有的模塊名字它的工作,
define([dependencies], function (dependencies) {});
工作正常 但只要我把它變成一個名爲模塊我找不到它
define("moduleA", ['subdir/moduleB'], function (moduleB) {
console.log(moduleB); // >> undefined
});
define("subdir/moduleB", [dependencies], function (dependencies) { return 'B'; });
爲什麼在你的require語句中包含jquery?我通常在應用程序文件中定義它,比如'define(['jquery',],function($)' – Jlange 2013-03-18 21:00:54
以及我在我的主要版本中,因爲主要有一般需要配置,並引導應用程序,這就是爲什麼它有jQuery包括那裏啓動在文檔就緒狀態的應用程序 – Sander 2013-03-18 23:52:17
很高興你得到它的工作,我真的很感興趣看到解決方案,因爲我使用require.js很多 – Jlange 2013-03-19 16:56:06