使用webpack时节点找不到模块“fs”

我使用node.js和webpack来创build一个包。 从我读过的,node.js应该包含用于pipe理文件的fs模块。 但是,当我打电话require("fs")我得到一个Cannot find module "fs"错误。 我该怎么办?

我捆绑webpack时自己遇到了这个问题,并在这个线程上find了答案。

解决这个问题的方法是使用下面的configuration:

 module.exports = { entry: "./app", output: { path: __dirname, filename: "bundle.js" }, module: { loaders: [ { test: /\.js$/, exclude: 'node_modules', loader: 'babel', query: {presets: ['es2015']}, } ] }, target: 'node' }; 

通过设置目标节点webpack将进行必要的更改捆绑您的节点应用程序

编辑:这个答案针对webpack 1.x,现在已经被取代。

使用webworkers捆绑一个NWjs应用程序 (这又启用了节点)时,我遇到了同样的问题。

我find的解决scheme是包括每个本地模块,我在externals使用前缀commonjs模块的名称。 例如:

  ... target: "webworker", // or 'node' or 'node-webkit' externals:{ fs: "commonjs fs", path: "commonjs path" } ... 

我已经在不同的项目中针对“webworker”和“node-webkit”的目标来解决同样的问题。

webpack nwjs webworker nodejs 节点