文件转换引擎PantoJS.zip

所需积分/C币:9 2019-07-19 07:34:27 32KB ZIP
15
收藏 收藏
举报

PantoJS 是一个极其灵活的文件转换引擎,通常用于项目的构建和编译,特别是 Web 前端项目。它比较类似于 Grunt 或 Gulp,但更高效、强大和灵活。核心特性支持任意定义的拓扑构建流程只要是你能定义出来的构建流程,无论如何复杂,只要是合理的,Panto 都可以支持支持遗留文件的收集在选择特定的文件类型后,可以一次性访问到未被选择的其它文件保证对每个源文件最多读取一次对于同一个文件存在一个以上不同的处理流程,读取也最只有一次保证对于每个文件的同样处理流程只有一次尽最大努力避免重复工作支持文件级别的精确缓存,最大程度上避免不必要的计算不必重新构建的文件,尽最大努力利用缓存支持文件级别的精确增量构建高效重复构建与Grunt/Gulp相比 GruntGulpPanto流式任务✘✔✔拓扑流程✘✘✔一次读取✘✘✔精确缓存✘✘✔精确增量✘✘✔快速入门与 Grunt 和 Gulp 一样,Panto 也需要在项目根目录下定义流程配置文件 pantofile.js,但不支持 coffeescript 语法。一个最简单的 pantofile.js 内容如下:module.exports = panto => {};注意 Panto 对 Node.js 的最低版本要求是 6.0.0,因此可以放心使用 ES2015 的语法。接着,就像加载 Grunt/Gulp 的插件一样,需要先加载转换器(Transformer)。转换器定义了如何变换文件内容的逻辑。module.exports = panto => { panto.loadTransformer('read');      panto.loadTransformer('less');     panto.loadTransformer('copy');     panto.loadTransformer('write'); };以上需要使用npm加载相应的package:npm install panto panto-transformer-read panto-transformer-less panto-transformer-copy panto-transformer-write --save-dev下面先要定义几个参数:cwd、src、output。其中 src、output 相对于 cwd:panto.setOptions({     cwd: __dirname,     src: 'src',     output: 'output' });现在开始定义构建流程,这里以转换less文件为例:panto.pick('*.less').read().less().write();这个流程的意义是在 src 目录内搜索以 .less 为扩展名的文件,并读取其内容,转换为CSS格式,并写入 output 的对应目录内。比如 src/style/foo.less,转换后写入 output/style/foo.less。现在,我们把除了less文件以外的其它文件拷贝到 output 中:panto.rest().copy();那么 src/config/c.yml 拷贝至 output/config/c.yml。现在,完整的构建配置文件的内容是:module.exports = panto => { panto.loadTransformer('read'); panto.loadTransformer('less'); panto.loadTransformer('copy'); panto.loadTransformer('write'); panto.setOptions({         cwd: __dirname,         src: 'src',         output: 'output' }); panto.pick('*.less').read().less().write(); panto.rest().copy(); };你可以使用 load-panto-transformers 来避免书写大量 panto.loadTransformer('xxx') 语句,同时你也可以使用 time-panto来监控构建信息,这样,简化并完整的 pantofile.js 是:module.exports = panto => { require('load-panto-transformers')(panto); require('time-panto')(panto); panto.setOptions({         cwd: __dirname,         src: 'src',         output

...展开详情
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
关注 私信
上传资源赚钱or赚积分
最新推荐
文件转换引擎PantoJS.zip 9积分/C币 立即下载
1/0