在玩完AMD / RequireJS之后,我想知道加载UI模块(包括模板和CSS)是否完全独立于网页是否是个好主意。
听起来不错,但我还没有看到在野外实现这一功能,因此可能存在一些陷阱。
考虑一些具有以下结构的UI模块:
myWidget
|--img
|--main.js
|--styles.css
+--template.tpl
所有内容都放在一个文件夹中。看起来很好。
main.js中的模块如下所示:
define(["TemplateEngine", "text!myWidget/template.tpl"], function(TemplateEngine, template) {
// Load CSS (Pseudo Code)
var cssUrl = "myWidget/styles.css";
appendToHead(cssUrl);
return function() {
return {
render: function(data) {
return TemplateEngine.toHtml(template, data);
}
}
}
});
现在的问题是:
- 我想念什么吗?
- 是否有任何插件/概念如何以“标准”方式实现这一目标?
- RequireJS优化器是否能够在这里处理CSS部分,例如像在JS部分中一样处理样式/缩小样式表?
- 有什么意见吗?是好是坏?