为了将我的模型,收藏品等从我的移动应用程序导向我的网络应用程序,我需要配置我的RequireJS。
我有以下文件结构:
/
/js
/models
/mobile
/js
/templates
我希望我的mobile
应用使用我的主应用模型,所以我设置了以下内容:
require.config( {
paths : {
models : '/js/models',
templates : 'mobile/templates'
}
});
我在Chrome中遇到了这些错误:
Uncaught SyntaxError: Unexpected token < /mobile/js/models/User.js?bust=0.1.0:1
Uncaught SyntaxError: Unexpected token < /mobile/js/models/InviteRequest.js?bust=0.1.0:1
Uncaught SyntaxError: Unexpected token < /mobile/js/models/Log.js?bust=0.1.0:1
意味着它仍然在/mobile
而不是/
。
此路径配置适用于我的templates
文件夹,但不适用于我的models
文件夹。如何将所有以models/
开头的依赖项指向我的主模型文件夹?
谢谢!
ATTEMPT 2
我尝试设置baseUrl
代替:
require.config( {
baseUrl : '/',
paths : {
views : 'mobile/views',
templates : 'mobile/templates'
}
});
require( [
'app'
],
function(App) {
App.initialize();
});
我收到错误:
GET http://local.m.mysite.co/app.js 404 (Not Found) require.js:2
答案 0 :(得分:1)
在你的第二次尝试中,你基本上告诉Require JS加载'app'模块,因为你将基本url设置为'/',Require JS将在你的根路径中看起来'app'模块。
所以你需要做的是告诉Require JS在哪里寻找你的'app'模块。假设你的'app'模块在/ js / module中:
/
/js
/models
/module
/app.js
/mobile
/js
/templates
然后你加载'app'模块的代码是:
require.config( {
baseUrl : '/',
paths : {
views : 'mobile/views',
templates : 'mobile/templates'
}
});
require( [
'js/module/app'
],
function(app) {
app.initialize();
});
或者,您可以在配置中设置“模块”路径。然后在依赖项加载中引用此路径:
require.config( {
baseUrl : '/',
paths : {
views : 'mobile/views',
templates : 'mobile/templates',
module: 'js/module'
}
});
require( [
'module/app'
],
function(app) {
app.initialize();
});
至于您在ATTEMPT 2之前在Chrome中遇到的错误,您需要了解如何在模块加载中引用模块。