组件名统一为 index.js/html/css/less 的疑问
Opened this issue · 6 comments
nuysoft commented
keyapril commented
这个约定源于KISSY包加载的约定,我不知道承玉当时的考虑基于什么,这个需要@承玉。
那Brix为什么会延续这样的命名,甚至你觉得有点泛滥,我想说,这是有好处。
我们不再需要你说的那个info.json,我们只需要基于目录就能完成对组件的管理,不是有句话叫约定大于配置嘛。
cyjake commented
组件确实应该有独立的版本号,接下来会把 gallery 移出,放到 bpm 里管理起来。
组件代码约定为 index.{js,html,less} 不止是为了方便组件加载,也方便组件代码查看,所有组件的 JS、模板、Less 入口 文件都在这里,例如,可以把 index.less 写成:
@import 'base';
@import 'layer';
@import 'button';
这样即使代码拆掉了,也知道先从哪儿开始看。
nuysoft commented
cyjake commented
没看出来怎么会“断绝表达更多信息的可能”,如果是组件其他信息(版本、作者、仓库地址、演示地址什么的),我们已经有了 package.json ,而 JS、CSS 相关的,用 index.js 和 index.css 作为入口已经足够了。
加入 info.json 意味着多一次请求,和打包工作里多一次处理,而它的好处并没有多大。
要改成 pagination.js 和 pagination.css 也无不可,只不过重复一次组件名而已,但是真的没看出来 info.json 的必要。
cyjake commented
那这里跟 index.{js,less} 的约束是不搭嘎的吧,Brix 里约定这个是为了组件的自动加载哇,感觉不是 SPM 里 info.json 所要解决的。