在requirejs文本插件中使用字符串作为参数

时间:2013-05-15 07:41:44

标签: javascript requirejs

我想在require中使用一个字符串并加载一个把手模板文件。但我总是得到

  

“无效的需求调用:未加载”,“模块名称”'+ i +'“尚未加载上下文:”


define(function( require) {

  var getTemplateFile = function(templateName) {
     return require(['text!../html/templates/header.tpl']);   /* This works */
  }

});


//String Concatenated
define(function( require) {

  var getTemplateFile = function(templateName) {
     return require(['text!../html/templates/'+templateName+'.tpl']);   /* Does not work */
  }

});

我按照这里给出的解决方法(RequireJS text plugin and variable concatenated string)但仍然遇到了同样的错误。 任何有助于这项工作的帮助。

1 个答案:

答案 0 :(得分:0)

您正在滥用require函数。见here for the spec。您需要使用require(String)(以及数组版本)或require(Array, Function),具体取决于您想要实现的目标。您链接的答案使用数组变体。