Peut-on télécharger des fichiers séparés de script et de module pour naviguer et nouer?

J'utilise le webpack pour créer un objet JavaScript qui peut être chargé par le navigateur (dans une balise de script), mais je souhaite également que le serveur Web crée un module qui peut être chargé par un nœud (qui nécessite module.exports = ).

Existe-t-il un moyen d'obtenir un webpack pour créer deux fichiers; Par ex project.js et project.node.js ? Ou est-ce que je vais parler de la mauvaise façon?

La bibliothèque JavaScript de D3 semble faire quelque chose comme ceci en fonction de son package.json

 { "main": "build/d3.node.js", "browser": "build/d3.js", ... } 

J'ai trouvé comment obtenir du webpack pour créer plusieurs fichiers ici – essentiellement, simplement exporter un ensemble d'objets plutôt qu'un seul sur le webpack.config.js .

Voici le webpack.config.js où je fais plusieurs fichiers en utilisant le même point d'entrée main.js .

 module.exports = [ { entry: './src/main.js', output: { path: __dirname, filename: 'my_project.js', libraryTarget: 'var', library: 'my_project' }, ... }, { entry: './src/main.js', output: { path: __dirname, filename: 'my_project.node.js', libraryTarget: 'commonjs2', library: 'my_project' } ... ]; 

Je fais deux fichiers: 1) my_project.js avec my_project.js set to var afin qu'il puisse être chargé par le navigateur à l'aide d'une balise de script et 2) my_project.node.js avec my_project.node.js set to commonjs2 afin que le nœud puisse le charger.

J'ai mis my_project.node.js sous main dans le package.json afin que le webpack le charge – voir ci-dessous:

 { "name": "my_project", "version": "1.0.0", "description": "something ...", "main": "my_project.node.js", ... }