我正在尝试构建我的prod webpack文件,并得到5-10个错误的"无法解决模块" aws-sdk,child_process"。
所有这些错误都以相同的路径开始:"ERROR in (webpack)/~/watchpack/~/chokidar/~/fsevents/"
例如:ERROR in (webpack)/~/watchpack/~/chokidar/~/fsevents/~/node-pre-gyp/lib/node-pre- gypp .js模块未找到:错误:无法解析'file'或'directory' ./package
ERROR in (webpack)/~/watchpack/~/chokidar/~/fsevents/~/node-pre-gyp/lib/info.js模块未找到:错误:无法解析模块'aws-sdk'
ERROR in (webpack)/~/watchpack/~/chokidar/~/fsevents/~/node-pre-gyp/lib/publish.js模块未找到:错误:无法解析模块'aws-sdk'
在(webpack)/~/watchpack/~/chokidar/~/fsevents/~/node-pre-gyp/lib/testbinary.js中出现错误
无法解析'child_process'模块ERROR in (webpack)/~/watchpack/~/chokidar/~/fsevents/~/forever-agent/index.js模块未找到:错误:无法解析模块'net'
下面是我在package.json中的依赖项:
" devDependencies ": {
"babel-core": "^6.4.5",
"babel-loader": "^6.2.1",
"babel-preset-es2015": "^6.3.13",
"babel-preset-react": "^6.3.13",
"css-loader": "^0.25.0",
"file-loader": "^0.9.0",
"json-loader": "^0.5.4",
"node-sass": "^3.9.0",
"react": "^15.3.2",
"sass-loader": "^4.0.1",
"style-loader": "^0.13.1",
"url-loader": "^0.5.7",
"webpack": "^1.13.2",
"webpack-bundle-tracker": "0.0.93",
"webpack-dev-server": "^1.15.1"
},"依赖":{
"chart.js": "^1.1.1",
"jquery": "^2.2.0",
"material-ui": "^0.15.4",
"react-addons-css-transition-group": "^15.3.1",
"react-bootstrap": "^0.30.3",
"react-chartjs": "^0.8.0",
"react-dom": "^15.3.0",
"react-hot-loader": "^3.0.0-beta.3",
"react-redux": "^4.4.5",
"react-router": "^2.7.0",
"react-sortable-hoc": "0.0.8",
"react-tap-event-plugin": "^1.0.0",
"redux": "^3.6.0"
}
我有同样的问题,事实上你尝试在客户端应用服务器模块,解决这个问题,在你的webpack配置客户端添加以下代码:
node: {
fs: "empty",
child_process : "empty",
net : "empty",
}
我在捆绑服务器时遇到了同样的问题。我从babel-loader中排除了node_modules,但这不足以阻止webpack捆绑node_modules。
解决方案如下:
- 如果你还没有,添加
target: 'node'
到你的webpack.config.js
。这将排除本地节点模块(path, fs等)被捆绑。 - 使用
webpack-node-externals
排除node_modules
的例子:
import nodeExternals from 'webpack-node-externals';
...
const browserConfig = { ... };
...
const serverConfig = {
...
target: 'node',
externals: [nodeExternals()],
...
};
export default [ browserConfig, serverConfig ];
好吧,我想你忘了--config
的使用:
webpack --config webpack.config.js
我也有同样的烦恼,但只是添加--config
解决了我的问题。
webpack --config webpack.config.js