在 Webpack 中的 /node_modules/watchpack 中获取"Cannot resolve module 'aws-sdk','child_process','net'



我正在尝试构建我的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

相关内容

最新更新