RequireJSロードの問題(パッケージ付き)
質問
RequireJS 2.0.6を使用しています。そして時々私は私の図書館(Amplifyjs)のいずれかで展望の問題を抱えています。
プロジェクト:
libs/
amplify.js
handlebars.js
jquery.js
require.js
packages/
core/
main.js
index.html
main.js
.
My Main.js:
require.config({
paths: {
'jquery': '../libs/jquery',
'amplify': '../libs/amplify',
'handlebars': '../libs/handlebars'
},
shim: {
'jquery': {
exports: '$'
},
'amplify': {
deps: ['jquery'],
exports: 'amplify'
},
'handlebars': {
exports: 'handlebars'
}
},
packages: ['core'],
baseUrl: './packages/'
});
require(['jquery', 'amplify', 'handlebars', 'core'], function() {
});
.
index.html:
<script type="text/javascript" data-main="main" src="libs/require.js"></script>
.
75%うまく機能しますが、時にはこのエラーが発生します。
GET http://localhost:8888/aa/test/packages/libs/amplify.js 404 (Not Found)
Uncaught Error: Script error
http://requirejs.org/docs/errors.html#scripterror
.
道が間違っている!しかし、私はこれが起こる理由を理解することはできませんか?そしてなぜ時々?
(私はそれがパッケージで何かをしなければならないことを確信していますが、それがそれをする理由はわかりません)
解決
私はそれをするもう一つの方法を考え出し、それは機能します!
require.config({
paths: {
libs: '../libs'
},
packages: ['core'],
shim: {
'libs/amplify': {
deps: ['libs/jquery'],
exports: 'amplify'
},
'libs/handlebars': {
deps: ['libs/jquery'],
exports: 'handlebars'
},
'core': {
deps: ['libs/amplify', 'libs/handlebars']
}
}
});
. 他のヒント
(私はそれがパッケージで何かをする必要があることを確信していますが、私は持っています なぜそれがそうするのかわからない)
packages
という単語は標準のCommonjsを参照しています.Reenese jsは、ディレクトリ構造とモジュール自体は、jsが理解できるモジュール形式であるべきです。
所属していません StackOverflow