我正在研究一個electron應用程序,該應用程序使用動態要求在運行時加載擴展(節點模塊)。該應用程序目前被安裝擴展的陣列遍歷它們,需要是他們和保存的對它們的引用:有沒有辦法在webpack中完全忽略動態需求?
getInstalledExtensions()
.then(extensions => {
extensions.map(extension => require(extension.path))
})
.then(saveExtensions)
我遇到了麻煩的WebPack到完全忽略的第三行需要聲明:require(extension.path)
。
構建時未知安裝的擴展列表。當用戶首次安裝應用程序時,該數組爲空,隨着用戶安裝/卸載擴展程序,它會增大/縮小。
我已經試過:
module: {
exprContextRegExp: /$^/,
exprContextCritical: false,
}
,但它只是替換require(extension.path)
與
!(function webpackMissingModule() { var e = new Error("Cannot find module \".\""); e.code = 'MODULE_NOT_FOUND'; throw e; }())
我爲什麼要在電子應用使用的WebPack?
require
很貴,它會大大影響我的應用程序的啓動時間。作爲一個例子,require('request')
需要大約800ms這是荒謬的。我想盡可能地捆綁儘可能多的模塊,以減少我的應用程序的啓動時間。
我也想有可能使用CSS加載器。我目前正在使用全局類和內聯樣式的組合,這並不理想。
這個解決方案對我來說效果很好。謝謝! 編輯:我沒有使用字符串 - 替換 - 加載器 - 只是堅持originalrequire.js在外部是我所需要的。 –