使用backbone.js的text.js插件无法访问模板

时间:2014-03-20 02:50:44

标签: templates backbone.js requirejs

我收到错误GET localhost:8080 / scripts / templates / home / homeTemplate.html 404(Not Found)

不确定为什么会这样。根据这个教程,我觉得文件是在正确的位置。 http://backbonetutorials.com/organizing-backbone-using-modules/

github存储库在这里https://github.com/natecraft1/backbone-widget

我像这样引用模板     '发短信!模板/家/ homeTemplate.html' 来自app / templates / home ...

1 个答案:

答案 0 :(得分:1)

按如下方式修改scripts/main.js

require.config({
  paths: {
    jquery: 'libs/jquery',
    underscore: 'libs/underscore',
    backbone: 'libs/backbone',
    templates: '../templates'  // added
  }
});
require(['app'], function(App) {
  App.initialize();
});

通过如上设置templates, 如果模块ID以" templates"开头, requirejs从templates目录

加载模块

如果没有上述templates设置,requirejs将从scripts目录加载任何模块ID,其中包含main.js源代码。因此,text!templates/home/homeTemplate.html被解释为错误的网址scripts/templates/home/home/homeTemplate.html

如果您不想修改main.js脚本, 您可以指定homeTemplate.html的正确位置 用

替换'text!templates/...'
  • 'text!../../../templates/home/homeTemplate.html'
  • 'text!/../templates/home/homeTemplate.html'