2016-03-01 86 views
1

加載一個沒有文件(還)存在,我想從遠程位置添加JSON文件到我的WebPack束。爲此,我正在編寫一個加載程序,它將文件從遠程位置拖入該包中。的WebPack:在文件系統

,同時試圖做的,所以我得到一個錯誤。有沒有一種方法,以凌駕了「找不到文件」的錯誤,試圖解決對無論它的存在,它匹配任何裝載機的模塊?

以下是錯誤:

*:81 
      throw stats.compilation.errors[0]; 
             ^
ModuleNotFoundError: Module not found: Error: Cannot resolve 'file' or 'directory' ../../../json/test.json in * 

回答

3

我不認爲你可以通過裝載機做到這一點 - 裝載機被應用到源一次的WebPack有它;如果沒有源代碼,則無法應用加載程序。如果你真的想挖進去,看看NormalModuleMixin.js(它在webpack-core/lib,這是webpack/node-modules)。

如果你真的想的WebPack把該資源爲本地文件,你可以寫一個自定義解析插件,它會識別require調用遠程資源,下載它,然後讓require分辨率繼續一旦文件在當地存在。不幸的是寫入自定義解析器沒有記錄。 Here's an issue其中@sokra指出一些參考;特別是我發現this plugin是它如何工作的一個很好的例子。

做你拍攝的內容可能是有格朗特/咕嘟咕嘟/ shell腳本的文件拉到下執行的WebPack構建之前最簡單的方法。

+0

因爲我認爲存在這是接近的回答這個問題。我結束了一個插件和一個加載器。 – BTC