首页 > 解决方案 > 如何在 webpack 4.42.0 版本中使用 npm 文件

问题描述

我开始使用 webpack 版本 4.42.0,我可以构建 web-pack 并能够运行它。但是每当我包含以下代码时。我收到一个错误,请任何人都可以帮助如何在 web-pack 中使用 npm fs

索引.js

var fs = require('fs');
console.log(fs.readFileSync());

和我的 webpack-config.js

var HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
   module: {
       rules: [
           {
               test: /\.html$/i,
               loader: 'html-loader',
               options: { minimize: true }
           },
           {
               test: /\.m?js$/,
               exclude: /(node_modules|bower_components)/,
               use: {
                   loader: 'babel-loader',
                   options: {
                       presets: ['@babel/preset-env']
                   }
               }
           },
           {
               test: /\.(png|jpe?g|gif)$/i,
               use: [
                   {
                       loader: 'file-loader',
                   },
               ],
           },
           {
               test: /\.node$/,
               use: 'node-loader'
           }
       ],
   },
   plugins: [new HtmlWebpackPlugin({
       template: "./src/index.html",
       filename: "./index.html"
   },
   )],
   mode: 'development',
   node: { fs: 'empty' },
   target: "node"
};

我正面临错误

未捕获的 TypeError:fs.​​readFileSync 不是函数

从 webpack-config.js 中删除节点和目标后

./src/index.js 中的错误找不到模块:错误:无法解析“/Users/nagaraj/gowork/src/github.com/webpack_tutor/src”中的“fs”@ ./src/index.js 1 :9-22

   package.json

   "devDependencies": {
    "@babel/core": "^7.8.7",
    "@babel/preset-env": "^7.8.7",
    "babel-loader": "^8.0.6",
    "file-loader": "^5.1.0",
    "html-loader": "^0.5.5",
    "html-webpack-plugin": "^3.2.0",
    "node-loader": "^0.6.0",
    "webpack": "^4.42.0",
    "webpack-cli": "^3.3.11"
  },
  "dependencies": {
    "fs": "0.0.1-security",
    "lodash-webpack-plugin": "^0.11.5",
    "webpack-dev-server": "^3.10.3"
  }

标签: node.jswebpack

解决方案


推荐阅读