嘗試訪問模塊時,我在創建util.js
的文件中使用0123package,在webpack中使用module.exports
,它會在構建時產生一個空對象。在下圖中,我的const utils = require(...)
返回空對象。Webpack3:要求導出模塊內部不工作
然而,當我檢查我的const utils = require(...)
在我的主腳本background-script.js
,它不使用module.exports的,它的定義。
問題 的WebPack似乎並沒有被解決,我用我正在導出模塊內部的require
的。
項目文件結構
app
├──plugins
│ ├── index.js (exports all my plugins)
| ├──plugin1
| │ ├── index.js (simply exports an object)
| |
| |──plugin2
| ├── index.js (simply exports an object)
|
|--utils.js
|--background-script.js
應用/背景的script.js
const utils = require('../../util.js');
應用程序/ utils.js
const utils ={....};
utils.plugins = require('./plugins/index.js');
module.exports = utils;
插件/ index.js
//require all `index.js` file from each plugin directory; works great.
const context = require.context('.', true, /index\.js/);
const requireAllPlugins = function(ctx) {
const keys = ctx.keys();
const values = keys.map(ctx);
return values;
}
const allPlugins = requireAllPlugins(context);
module.exports = [...allPlugins];
plugin1/index.js
//utils is an empty object
const utils = require('../../util.js');
module.exports = {action: utils.renderBookmark}
你有沒有試過''../../../ util.js''? – marzelin
這是行不通的,因爲這會讓我離開我的應用程序文件夾。我將在今天晚些時候查看webpack的「resolve」屬性和「output.library」屬性。我會回來的 –