当尝试访问util.js
我在 webpack 中使用的文件中创建的模块module.exports
时,它会在构建时产生一个空对象。在下图中,myconst utils = require(...)
返回一个空对象。
但是,当我检查不使用 module.exports 的const utils = require(...)
主脚本内部时,它已被定义。background-script.js
问题
Webpack 似乎没有解决require
我正在使用的模块中的 's 我正在导出。
项目文件结构
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
应用程序/背景脚本.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];
插件1/index.js
//utils is an empty object
const utils = require('../../util.js');
module.exports = {action: utils.renderBookmark}