请不要在各个组件的 JS 里面直接 require css 文件
huacnlee opened this issue · 4 comments
huacnlee commented
我们不能将前端架构的事情也一并搞了,你无法预计组件使用者如何来分布他们的 JS, CSS 部署结构
作为一个基础组件,我们应当保持原生态, CSS 和 JS 如何安放应当由组件使用者自己来决定。
以面包屑为例:
KISSY.add("brix/gallery/breadcrumbs/index",function(a,b){
function c(){
c.superclass.constructor.apply(this,arguments)
}
return c.ATTRS={},
a.extend(c,b,{}),c},
{requires:["brix/core/brick","./breadcrumbs.css"]}
);
在这里 requires [breadcrumbs.css
] 不太合理,这么做意味着所有的项目都得按照 Brix 这样的目录结构来布置 (我不认为这是一个好的方式)。
如果想将所有的 CSS 和 JS 分别打包成一个 brix-all.js 和 brix-all.css 就不行了(实际上,我们就应该提供一个完整的打包文件)
cyjake commented
@keyapril 同学已经将所有样式 require 去掉,改由实际项目自己处理样式依赖。
原本是在组件代码中写明比较合适,但 KISSY 1.2 的 map 对样式的 combo 支持得不好(?存疑,请了解的同学解释一下)
yiminghe commented
通用组件样式确实不应该放在 require 写死,不好定制了。
业务组件可以写,关于 1.2 支持貌似没问题啊,不过最好不要通过 map 配置 combo, 1.3 会有新的 loader 支持 combo 的
cyjake commented
huacnlee commented
是的,反正不管怎么着,不要在 JS 里面写死 CSS 的引用就好了