如何通过Webpack在文件上运行任意bash脚本而无需为每种文件类型维护加载程序?

问题描述:

Webpack似乎运行的工具通过“加载器”转换代码,而不是直接使用这些工具的API。这为这些工具增加了一层抽象,这有时意味着工具的API没有完全暴露,或者工具的更新需要时间才能在加载器中更新。 Here's a more detailed description of the problem如何通过Webpack在文件上运行任意bash脚本而无需为每种文件类型维护加载程序?

我遇到了Grunt/gulp这个问题,并最终放弃了那些赞成直接用我通过npm运行的bash脚本转换我的源代码的问题。 Webpack可以做同样的事吗?如果是这样,怎么样?

created a custom Webpack loader调用shell-loader需要一个任意的shell脚本并运行它使用child_process.exec加载的每个文件的内容。我可以在webpack.config.js这样使用它;

{ 
    test: /.*\.css$/, 
    use: [ 'css-loader', { loader: 'shell-loader', options: { 
    script: 'postcss --use autoprefixer' 
    }} ] 
} 

看来工作,作为概念验证,但我不知道是否有工作的WebPack时,这是一个好主意,或者如果我在黑客的东西放在一起,他们不打算是。

+0

注意:尽管你可以使用它来运行你想要的任何脚本,但是我不会将它用于postcss,因为postcss已经有了很好的Webpack加载器。 https://github.com/postcss/postcss-loader –