2016-06-10 65 views
0

我想寫一個webpack插件,積累js需要/導入調用匹配某種模式,在它們解決之前從源中刪除它們(因爲解析將失敗),然後傳遞累積的信息沿着分開的捆綁建立過程。怎麼會有人用插件修改源代碼?此外,插件甚至是正確的方法嗎?改變與webpack插件源

回答

2

您描述的input => output模式存在更多Webpack加載器的行爲。

什麼是Webpack Loader?

一個的WebPack 裝載機最簡單的形式是一個函數,它接受一個source參數,然後必須返回來源:

function allySimpleButAwesomeWebpackLoader(source) { 
    var yingSources = source + 'SomeString'; 

    return yingSources; 
} 

什麼是的WebPack插件?

插件可以完成裝載程序無法執行的所有操作。當他們想要學習如何實現webpack插件的生命週期掛鉤時,我喜歡將人們引用到ProgressPlugin--它是webpack lib的一部分 - 。

插件在其最簡單的形式是ES5 OOP功能與一個原型方法apply。這個應用函數獲得了一個compiler變量,用作訪問編譯器API。

function AllyAwesomePlugin(optionsObject) { 
    this.pluginOptions = optionsObject;  


} 

AllyAwesomePlugin.prototype.apply = function(compiler) { 

} 

Here是如何寫的WebPack插件以及有關的WebPack編譯器/插件API的更多信息,一些偉大的文檔。

+0

如果只有通過標準的node_modules查找邏輯才能找到請求的路徑,那麼只有加載器才能正常工作呢?在這種特殊情況下,我試圖加載require('some.namespace')而不是通常的require('path/to/module')。需要額外的邏輯來將some.namespace解析爲文件路徑。根據你的解釋和進一步閱讀,我認爲這需要一個插件。你怎麼看? – mockaroodev

+0

是的,這聽起來像一個裝載機可能是所需的方法。 –