我正在使用RequireJS 2以及骨干和好友来构建网站。每个视图的开头通常都是这样的:
define([
'libs/jquery',
'libs/underscore',
'libs/backbone',
'text!templates/coletas/agendamento.html',
], function(...
我的问题是最后一行希望在js/templates/coletas/agendamento.html
找到模板,所以这个可怜的程序员最终不得不在/js/
中放入非js文件。有没有办法避免这种情况,并在每次使用文本插件时将基本网址设置为./templates/
?
我也不能使用绝对路径,因为我不知道我的代码会在服务器中的哪个位置。
答案 0 :(得分:2)
此片段来自我的main.js
require.config({
paths: {
loader: 'libs/backbone/loader',
jQuery: 'libs/jquery/jquery',
Underscore: 'libs/underscore/underscore',
Backbone: 'libs/backbone/backbone',
templates: '../templates'
}
});
这是一个示例require.config,您可以使用它来加载模块,例如我的评论(对不起,我没有意识到我在我的应用程序中有这个,直到我阅读您的评论)。
配置完成后,您可以访问各种javascript库和您的单独模板目录(此片段来自我的js / views / overview / main.js:
define([
'jQuery',
'Underscore',
'Backbone',
'models/overview',
'text!templates/overview/main.html'
]
答案 1 :(得分:1)
我尝试使用requirejs
跟踪的目录结构是
webapp/
main.js
index.html
app.js
js/ <- your code here
libs/ <- 3rd party stuff here
templates/
styles/
etc/
...
以便在webapp
- 文件夹级别评估require.js -modules的依赖项,从而允许您保持不同类型文件的分离。
希望这有帮助!