加载带有下划线的模板会出错
Loading templates with underscore gives error
我有一个 requirejs webapp,它加载了很多库(jsfiddle 加载相当复杂)。最重要的是:
console.log(_.VERSION);
_.template("<p>");
在带有开发控制台的 underscorejs 站点中,这导致:1.7.0 和第二行 returns 一个函数。
加载后在我的站点中
报告的版本相同。
第二行是 Uncaught TypeError: string is not a function
当我尝试在 BackBone 视图
中加载模板时,这会产生问题
堆栈跟踪:
(anonymous function)VM2739:762 InjectedScript._evaluateOnVM2739:695 InjectedScript._evaluateAndWrapVM2739:609 InjectedScript.evaluate
我没有包含下划线的库。我不确定显示 requirejs 的加载方式是否重要 _ 因为最终结果是加载了正确的版本..?
在撰写本文时,我已经花费了大量时间更改代码的所有部分,但没有任何效果。
我收到 google 消息 "string is not a function" 并且我发现一些参考资料表明存在某种冲突。
最有可能的是,requireJS 正在将模板的 原始字符串值 注入到您的模块中,而您认为它正在注入已编译的模板函数。
您试图将此作为 函数 访问,这会导致 Uncaught TypeError: string is not a function
错误。
您需要将此模板字符串输入 _.template()
。
在我使用 requirejs 和下划线加载的所有数百个视图中,这条神秘的消息是这一行的结果
template: _.template=require("text!TemplateMapView"),
已替换为此行..
template: _.template(require("text!TemplateMapView"))
这用字符串覆盖了函数。 requirejs 随机加载视图,每次不同的脚本(直接在此之后加载)都会产生错误。那是非常混乱的。
我有一个 requirejs webapp,它加载了很多库(jsfiddle 加载相当复杂)。最重要的是:
console.log(_.VERSION);
_.template("<p>");
在带有开发控制台的 underscorejs 站点中,这导致:1.7.0 和第二行 returns 一个函数。
加载后在我的站点中
报告的版本相同。 第二行是 Uncaught TypeError: string is not a function
当我尝试在 BackBone 视图
中加载模板时,这会产生问题堆栈跟踪:
(anonymous function)VM2739:762 InjectedScript._evaluateOnVM2739:695 InjectedScript._evaluateAndWrapVM2739:609 InjectedScript.evaluate
我没有包含下划线的库。我不确定显示 requirejs 的加载方式是否重要 _ 因为最终结果是加载了正确的版本..?
在撰写本文时,我已经花费了大量时间更改代码的所有部分,但没有任何效果。
我收到 google 消息 "string is not a function" 并且我发现一些参考资料表明存在某种冲突。
最有可能的是,requireJS 正在将模板的 原始字符串值 注入到您的模块中,而您认为它正在注入已编译的模板函数。
您试图将此作为 函数 访问,这会导致 Uncaught TypeError: string is not a function
错误。
您需要将此模板字符串输入 _.template()
。
在我使用 requirejs 和下划线加载的所有数百个视图中,这条神秘的消息是这一行的结果
template: _.template=require("text!TemplateMapView"),
已替换为此行..
template: _.template(require("text!TemplateMapView"))
这用字符串覆盖了函数。 requirejs 随机加载视图,每次不同的脚本(直接在此之后加载)都会产生错误。那是非常混乱的。