Closed maxbbn closed 11 years ago
除了上方几点外,如何编写插件,如何使用插件,这两点也非常重要。
先说需求,再考虑方案
hmm...不是,我提的两点是属于用户使用的环节,而不是实现的环节。如何编写和如何使用,其实决定了你最终怎么实现插件机制,以及插件机制的架构。
考虑几点(参考grunt):
abcplugin/
),我们的abc会自动获取其他... 随便想到的~
肯定要支持npm安装插件,不然插件共享方式就繁琐了
用户自用插件,也分两种,一种是系统里面的,可以再多个地方使用,还有一个是应用里面的, 跟着代码库走,方面协作,这两种要不要都支持呢?
还有一点想到的,兼容grunt插件,好做吗?
系统级别,其实指的就是全局安装吧?感觉可以支持,这个是grunt不支持的。
@maxbbn 兼容grunt我也有考虑过,不过他们说配置差异较大,貌似有点困难。
甚至可以讲插件安装用abc封装npm一层,用户使用:
abc plugin install sass -g
甚至列出所有可用插件:
abc plugin list
然后网络请求可用的所有在npm库中的插件~
扯远了....
grunt.loadNpmTasks('grunt-contrib-jshint');
这个会执行NPM安装的动作吗? @neekey
不会的,你需要在本地目录下npm install grunt-contrib-jshint
,然后才可以,其实他是到当前目录下读取文件的。
昨天看Grunt 想到一个需求:
插件间的相互调用,方便编写高级的插件,也方便一些功能的复用
!!! 这个只是设计草稿,欢迎大家讨论
要支持的特性
abc框架内部提供的工具
插件的分类
关于插件接口