Lorsque j'essaie d'accéder à un module, j'ai créé util.js
dans un fichier où j'utilise module.exports
dans webpack, il en résulte un objet vide lors de la construction. Dans l'image ci-dessous, mon const utils = require(...)
renvoie un objet vide.Webpack3: nécessite que le module exporté ne fonctionne pas
Cependant, quand j'inspecter mon const utils = require(...)
à l'intérieur de mon script principal background-script.js
, qui n'utilise un module.exports, il est défini.
Problème Webpack ne semble pas résoudre les « s à l'intérieur require
les modules que je utilise je suis l'exportation.
fichier projet Structure
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
app/background-script.js
const utils = require('../../util.js');
app/utils.js
const utils ={....};
utils.plugins = require('./plugins/index.js');
module.exports = utils;
plugins/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}
avez-vous essayé «../../../ util.js»? – marzelin
Cela ne fonctionne pas et ne devrait pas puisque cela me sortirait de mon dossier de l'application. Je vais me pencher sur la propriété 'resolve' de webpack et les propriétés' output.library' plus tard aujourd'hui. Je reviendrai –