I am using RequireJS 2.0.6. And sometimes I have a laoding issue with one of my library (amplifyjs).
Project:
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% of time it works but sometimes I get this error:
GET http://localhost:8888/aa/test/packages/libs/amplify.js 404 (Not Found)
Uncaught Error: Script error
http://requirejs.org/docs/errors.html#scripterror
The path is wrong! But I cannot figure out why this happens ? And why only sometimes ?
(I am pretty sure it has to do something with the package, but I have no idea why it does that)
I figured out another way to do it and it works!
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']
}
}
});