3

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

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

我的问题是最后一行希望js/templates/coletas/agendamento.html/js/. 有没有办法避免这种情况并将基本网址设置为./templates/每次我使用文本插件时?

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

4

2 回答 2

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'
  ]
于 2012-08-20T18:39:16.410 回答
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 的依赖项,从而允许您保持不同类型文件的分离。

希望这可以帮助!

于 2012-08-20T09:57:25.630 回答