abc-team / ABC

Assets build center
5 stars 0 forks source link

插件机制设计[草稿] #11

Closed maxbbn closed 11 years ago

maxbbn commented 11 years ago

!!! 这个只是设计草稿,欢迎大家讨论

要支持的特性

neekey commented 11 years ago

除了上方几点外,如何编写插件,如何使用插件,这两点也非常重要。

maxbbn commented 11 years ago

先说需求,再考虑方案

neekey commented 11 years ago

hmm...不是,我提的两点是属于用户使用的环节,而不是实现的环节。如何编写和如何使用,其实决定了你最终怎么实现插件机制,以及插件机制的架构。

考虑几点(参考grunt):

其他... 随便想到的~

maxbbn commented 11 years ago

肯定要支持npm安装插件,不然插件共享方式就繁琐了

maxbbn commented 11 years ago

用户自用插件,也分两种,一种是系统里面的,可以再多个地方使用,还有一个是应用里面的, 跟着代码库走,方面协作,这两种要不要都支持呢?

maxbbn commented 11 years ago

还有一点想到的,兼容grunt插件,好做吗?

neekey commented 11 years ago

系统级别,其实指的就是全局安装吧?感觉可以支持,这个是grunt不支持的。

daxingplay commented 11 years ago

@maxbbn 兼容grunt我也有考虑过,不过他们说配置差异较大,貌似有点困难。

neekey commented 11 years ago

甚至可以讲插件安装用abc封装npm一层,用户使用:

abc plugin install sass -g

甚至列出所有可用插件:

abc plugin list

然后网络请求可用的所有在npm库中的插件~

扯远了....

maxbbn commented 11 years ago
grunt.loadNpmTasks('grunt-contrib-jshint');

这个会执行NPM安装的动作吗? @neekey

neekey commented 11 years ago

不会的,你需要在本地目录下npm install grunt-contrib-jshint,然后才可以,其实他是到当前目录下读取文件的。

maxbbn commented 11 years ago

昨天看Grunt 想到一个需求:

插件间的相互调用,方便编写高级的插件,也方便一些功能的复用