webpackでmodule.exports
を使用するファイルの内部にutil.js
を作成したモジュールにアクセスしようとすると、ビルド時に空のオブジェクトになります。下の画像では、私のconst utils = require(...)
は空のオブジェクトを返します。しかしWebpack3:エクスポートされたモジュールが正しく動作しない
、私は検査私のconst utils = require(...)
module.exportsはを使用していない私のメインのスクリプトbackground-script.js
、内部に、それが定義されています。
問題 の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'プロパティを見ていきます。戻ってきます –