2017-09-02 93 views
8

Webpack似乎運行的工具通過「加載器」轉換代碼,而不是直接使用這些工具的API。這爲這些工具增加了一層抽象,這有時意味着工具的API沒有完全暴露,或者工具的更新需要時間才能在加載器中更新。 Here's a more detailed description of the problem如何通過Webpack在文件上運行任意bash腳本而無需爲每種文件類型維護加載程序?

我遇到了Grunt/gulp這個問題,並最終放棄了那些贊成直接用我通過npm運行的bash腳本轉換我的源代碼的問題。 Webpack可以做同樣的事嗎?如果是這樣,怎麼樣?

回答

1

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 –

相關問題