请求已内联 Dijit 模板的 Dojo 构建
Posted
技术标签:
【中文标题】请求已内联 Dijit 模板的 Dojo 构建【英文标题】:Dojo build requesting already inlined Dijit templates 【发布时间】:2013-06-09 11:48:34 【问题描述】:我是一个大型 Dojo 项目的开发人员,我在使用 Google Closure 编译器时遇到了一些问题。
我们有大约一百个用于 Dijit 小部件的模板,因此计划是让 Closure 编译器将 html 内联到 javascript 文件中,而不是要求它们采用 AMD 样式。
为了实现这一点,我将 /profiles/app.profile.js 中的“mini”参数从 true 更改为 false。
编译时,一切似乎都正常,即使在运行应用程序时我也没有问题,但发生了一些奇怪的事情。
即使 HTML 模板在 dojo.js 文件中正确内联,dojo 仍在向服务器发出对相应模板文件的 HTTP 请求!
通过检查 Closure 编译器生成的“美化”版本,我可以观察到每个 HTML 模板存在于两个不同的位置:
1) 在 JavaScript 中内联,格式如下:
"url:path/to/my/template.html":"<p>Some more HTML</p>"
2) 作为 AMD 要求中的必需伪模块:
dojo/text!./path/to/my/template.html
我在他们网站的 BuildSystem 类别中搜索了错误报告:BuildSystem,但最终找不到任何相关帮助。
这是我只是错误地使用了 Google Closure Compiler 还是这是一个开放/未报告的错误?
如何解决此问题?
提前非常感谢!
【问题讨论】:
【参考方案1】:如果您指的是仅存在于 1.9.0 中的问题,则为 https://bugs.dojotoolkit.org/ticket/17141。
【讨论】:
以上是关于请求已内联 Dijit 模板的 Dojo 构建的主要内容,如果未能解决你的问题,请参考以下文章
最佳实践 - 将 dojo/dijit 升级到 dojo2 应用程序
Dijit 树和 postCreate 事件 (dojo 1.3)