2012-01-11 55 views
1

我在Javascript应用程序中使用RequireJSMustache。模板的内容在一些外部文件中,通过text plugin加载。RequireJS和小胡子(或任何其他引擎):放置模板的位置

唯一让我感到困扰的是目录结构。我的所有脚本住js目录中,这样

index.html 
js 
    libs 
    require.js 
    text.js 
    jquery.js 
    ... 
    controllers 
    ... 
    views 
    ... 
    ... 

所以我配置RequireJS与baseUrl = 'js',简化模块名称。但这迫使我在js目录中有模板,否则它们对文本插件不可见。

有没有一种方法来配置RequireJS,使文本文件的依赖关系在脚本目录以外的位置查看?

(当然,我可以避开文本插件和手动定义AJAX请求抢文件,但这不是问题的地步。如果可能的话,我想用现有的工具)

回答

2

您可以指定绝对路径。从docs

但是,如果依赖名称具有以下特性之一,它被视为一个普通的文件路径,喜欢的东西传递给一个标签:

  • 两端“的.js”
  • 开始以 “/”
  • 包含一个URL协议,例如 “http:” 或 “https:”
+0

谢谢,我错过了那部分! – Andrea 2012-01-12 09:04:09

0

我通常会将我的baseUrl设置为。和脚本路径开始像这样JS:

require.config({ 
    baseUrl: ".", 
    paths: { 
     "lodash": "js/ext/lodash/dist/lodash", 
     "jquery": "js/ext/jquery/jquery", 
     "domReady": "js/ext/requirejs-domready/domReady", 
     "text": "js/ext/requirejs-text/text.js" 
    } 
}); 

现在我可以保持模板./templates,轻松地引用它们。