Webpack Express ne peut pas résoudre le module 'fs', la dépendance à la demande est une expression

Lorsque j'inclue Express dans mon projet, j'obtiens toujours ces erreurs lorsque j'essaie de créer avec le webpack.

Webpack.config.dev.js

var path = require("path") module.exports = { entry: { "server": "./server/server.ts" }, output: { path: path.resolve(__dirname, "dist"), filename: "bundle.js", publicPath: "/public/" }, module: { loaders: [ { test: /\.ts(x?)$/, exclude: /node_modules/, loader: "ts-loader" }, { test: /\.js(x?)$/, exclude: /node_modules/, loader: "babel-loader" }, { test: /\.json$/, loader: "json-loader" }, { test: /\.scss$/, exclude: /node_modules/, loaders: ["style-loader", "css-loader", "postcss-loader", "sass-loader"] }, { test: /\.css$/, loader: ["style-loader", "css-loader", "postcss-loader"] }, { test: /\.(jpe?g|gif|png|svg)$/i, loader: 'url-loader?limit=10000' } ] } } 

J'ai essayé:

  1. Installation de 'fs' mais ça ne fonctionne pas
  2. Lisez quelque part pour changer la propriété node fs. Il supprime les avertissements d'erreur mais je ne pense pas que ce soit une bonne solution permanente.

     module.exports = { node: { fs: "empty" } } 

    Heure: 2496ms Taille de l'actif Chunks Chunk N ° de noms bundle.js 761 kB 0 [émis] server bundle.js.map 956 kB 0 serveur [émis] + 119 modules cachés

    AVERTISSEMENT dans ./~/express/lib/view.js Les dépendances critiques: 78: 29-56 la demande d'une dépendance est une expression @ ./~/express/lib/view.js 78: 29-56 ERROR in ./ ~ / Express / lib / view.js

    Module non trouvé: Erreur: Impossible de résoudre le module 'fs' dans / Users / clementoh / Desktop / boilerplate2 / node_modules / express / lib @ ./~/express/lib/view.js 18: 9-22 ERROR in ./~/ Envoyer / index.js

    Module non trouvé: Erreur: Impossible de résoudre le module 'fs' dans / Users / clementoh / Desktop / boilerplate2 / node_modules / send @ ./~/send/index.js 24: 9-22 ERROR dans ./~/etag/index. Js

    Module non trouvé: Erreur: Impossible de résoudre le module 'fs' dans / Users / clementoh / Desktop / boilerplate2 / node_modules / etag @ ./~/etag/index.js 22: 12-25 ERROR in ./~/destroy/index. Js

    Module non trouvé: Erreur: Impossible de résoudre le module 'fs' dans / Users / clementoh / Desktop / boilerplate2 / node_modules / destroy @ ./~/destroy/index.js 14: 17-30 ERROR in ./~/mime/mime. Js

    Module non trouvé: Erreur: Impossible de résoudre le module 'fs' dans / Users / clementoh / Desktop / boilerplate2 / node_modules / mime @ ./~/mime/mime.js 2: 9-22

Il suffit de poster une réponse, car tout le monde ne lit pas de commentaires sur SO. @ Aurora0001 l'a cloué. La configuration de Webpack doit avoir cet ensemble:

 "target": "node" 

Je suis sur une pile Angular 2 – Electron – Webpack et j'ai besoin d'utiliser fs dans mon service, j'ai finalement trouvé comment faire:

1) dans votre webpack.common.js, spécifiez la target:'electron-renderer'

2) dans votre service ou votre composant: import * as fs from 'fs'; Et utiliser fs comme le feraient pour un projet de noeud.

J'espère que ça vous aide!

J'ai résolu ce problème de deux façons:

  1. Supprimer le répertoire node_modules

  2. Ajouter une target:'node' dans le fichier de configuration du serveur web

Ensuite, exécutez l' npm install . Cela m'a bien fonctionné.