如何保存模板/ js /?

时间:2012-08-19 17:36:55

标签: backbone.js requirejs

我正在使用RequireJS 2以及骨干和好友来构建网站。每个视图的开头通常都是这样的:

define([
    'libs/jquery',
    'libs/underscore',
    'libs/backbone',
    'text!templates/coletas/agendamento.html',
], function(...

我的问题是最后一行希望在js/templates/coletas/agendamento.html找到模板,所以这个可怜的程序员最终不得不在/js/中放入非js文件。有没有办法避免这种情况,并在每次使用文本插件时将基本网址设置为./templates/

我也不能使用绝对路径,因为我不知道我的代码会在服务器中的哪个位置。

2 个答案:

答案 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的依赖项,从而允许您保持不同类型文件的分离。

希望这有帮助!