我如何实现打孔Autoprefixer预处理器?

我想为Punch静态站点生成器实现自动修复器预处理器。

然而,在Punch的说法,我不知道这是否有资格作为编译器,缩小等。我已经尝试了所有上述无济于事。

这是我最近的尝试:

./autoprefixer.js

 module.exports = { input_extensions: [".css"], force_compile: true, compile: function(input, filename, callback){ return callback(null, "*{color: red;}"); } }; 

config.json

 ... "plugins": { "compilers": { ".css": "punch-sass-compiler", ".css": "autoprefixer" } } ... 

result

 /home/peter/projects/website/node_modules/punch/lib/asset_bundler.js:62 if (compiler && compiler.input_extensions.indexOf(template_extension) > -1) ^ TypeError: Cannot read property 'indexOf' of undefined at /home/peter/projects/website/node_modules/punch/lib/asset_bundler.js:62:45 at /home/peter/projects/website/node_modules/punch/lib/template_handler.js:119:11 at fs.js:334:14 at /home/peter/projects/website/node_modules/punch/node_modules/fstream/node_modules/graceful-fs/graceful-fs.js:42:10 at FSReqWrap.oncomplete (fs.js:95:15) 

任何人都可以把我引向正确的方向吗?

       

网上收集的解决方案 "我如何实现打孔Autoprefixer预处理器?"

目前看来,punch编译器只能编译一个不同的扩展名(比如说.mycss或者.less )。 使用这个,你几乎在那里:

module.exportsinput_extensions:必须设置为你想要的扩展名(不是.css ),例如[".mycss"]

 "plugins": { "compilers": { ".css": "punch-sass-compiler", ".css": "autoprefixer" } } 

真的很奇怪,因为你定义了两次相同的密钥。 删除punch-sass-compiler行。 如果你想调用另一个编译器,只require在你的编译器的代码中调用它的模块,调用另一个编译器并修改你提供的输出。

冲压缩小器不适合你的目标,因为他们只涉及到生产( punch g ),而不是在开发时。