似乎 Webpack 运行通过“加载器”转换代码的工具,而不是直接使用这些工具的 API。这在这些工具上增加了一层抽象,这有时意味着工具的 API 没有完全公开,或者工具的更新需要时间在加载器中更新。 Here's a more detailed description of the problem .
我在使用 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 时这是否是一个好主意,或者我是否正在将它们不应该出现的东西组合在一起。
关于webpack - 如何通过 Webpack 在文件上运行任意 bash 脚本而无需为每种文件类型维护加载程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46018863/