Webpack Express无法parsing模块“fs”,请求依赖性是expression式
当我在我的项目中包含Express时,当我尝试使用webpack进行构build时,总会遇到这些错误。
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' } ] } }
我试过了:
- 安装“FS”,但它不起作用
-
阅读某处以更改节点的fs属性。 它消除了错误警告,但我不认为这是一个好的永久解决scheme。
module.exports = { node: { fs: "empty" } }
时间:2496ms资产大小块大小名称bundle.js 761 kB 0 [emit] server bundle.js.map 956 kB 0 [emit] server + 119 hidden modules
警告在./~/express/lib/view.js关键依赖关系:78:29-56依赖关系的请求是一个expression式@ ./~/express/lib/view.js 78:29-56错误在./ 〜/快递/ lib中/ view.js
找不到模块:错误:无法parsing/ Users / clementoh / Desktop / boilerplate2 / node_modules / express / lib @ ./~/express/lib/view.js中的模块“fs”18:9-22错误./~/发送/ index.js
未find模块:错误:无法parsing./~/etag/index中的/ Users / clementoh / Desktop / boilerplate2 / node_modules / send @ ./~/send/index.js 24:9-22错误中的模块“fs”。 JS
找不到模块:错误:无法parsing/ Users / clementoh / Desktop / boilerplate2 / node_modules / etag @ ./~/etag/index.js中的模块“fs”22:12-25 ./~/destroy/index中的错误。 JS
找不到模块:错误:无法parsing./~/mime/mime中的/ Users / clementoh / Desktop / boilerplate2 / node_modules / destroy @ ./~/destroy/index.js 14:17-30错误中的模块“fs”。 JS
找不到模块:错误:无法parsing/ Users / clementoh / Desktop / boilerplate2 / node_modules / mime @ ./~/mime/mime.js中的模块'fs 2:9-22
只是发布一个答案,因为不是每个人都阅读关于SO的评论。 @ Aurora0001钉了它。 Webpack的configuration需要有这样的设置:
"target": "node"
我在一个堆栈Angular 2 – Electron – Webpack和我需要使用FS进入我的服务,我终于find了如何做:
1)在你的webpack.common.js里面,指定target:'electron-renderer'
2)在你的服务或组件中: import * as fs from 'fs';
并像使用节点项目一样使用fs。
希望它有帮助!
我通过两个步骤解决了这个问题:
-
删除
node_modules
目录 -
将
target:'node'
添加到webpackconfiguration文件中
然后运行npm install
。 它对我很好。