This repository has been archived by the owner on Apr 9, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 49
组件名统一为 index.js/html/css/less 的疑问 #54
Comments
这个约定源于KISSY包加载的约定,我不知道承玉当时的考虑基于什么,这个需要@承玉。 |
组件确实应该有独立的版本号,接下来会把 gallery 移出,放到 bpm 里管理起来。 组件代码约定为 index.{js,html,less} 不止是为了方便组件加载,也方便组件代码查看,所有组件的 JS、模板、Less 入口 文件都在这里,例如,可以把 index.less 写成: @import 'base';
@import 'layer';
@import 'button'; 这样即使代码拆掉了,也知道先从哪儿开始看。 |
没看出来怎么会“断绝表达更多信息的可能”,如果是组件其他信息(版本、作者、仓库地址、演示地址什么的),我们已经有了 package.json ,而 JS、CSS 相关的,用 index.js 和 index.css 作为入口已经足够了。 加入 info.json 意味着多一次请求,和打包工作里多一次处理,而它的好处并没有多大。 要改成 pagination.js 和 pagination.css 也无不可,只不过重复一次组件名而已,但是真的没看出来 info.json 的必要。 |
那这里跟 index.{js,less} 的约束是不搭嘎的吧,Brix 里约定这个是为了组件的自动加载哇,感觉不是 SPM 里 info.json 所要解决的。 |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
组件名统一为 index.js/html/css/less,例如 dropdown,方便了 Brix 拼接组件路径和加载,对于组件开发者却不够友好,会有为什么要这么强制约定的疑问。这个疑问应该是可以避免的。
参考了下 SPM 源服务器 的目录结构,组件根目录 gallery 下有文件 info.json,用于描述所有组件的信息,包括目录、名称、版本(路径)、稳定版本等,每个组件下同样有一个文件 info.json,用于描述当前组件的信息,组件的名称和结构则保持不变。
每个组件事实上需要有自己 独立的版本号,并且,基于描述组件信息的文件 info.json 可以生成一份 推荐的组件配置。
The text was updated successfully, but these errors were encountered: