我有一台带有React客户端应用程序的Express服务器,我设置了我的webpack配置输出两个捆绑包,一个用于我的服务器,一个用于我的反应应用程序。
我无法编译我的服务器包,除非我在bin / www的开头注释掉了shebang。如果我做出评论并编译所有我无法启动服务器,因为我收到此错误:
Error: Cannot find module 'querystring'.
at /Users/jahansj/Documents/personal-projects/roomshake/app_dist/js/app_bundle.js:51283:42
安装了查询字符串,保存为依赖项,我可以在node_modules文件夹中看到它。
我已经尝试不从我的webpack配置中排除node_modules以及在babel中使用shebang加载器来查看是否以某种方式注释了shebang导致问题。
这是我的webpack.config.js
:
module.exports = [{
name: 'dev',
entry: './dev/js/main.js',
output: {
path: 'dist/js',
filename: 'bundle.js'
},
module: {
loaders: [
{
test: /\.js?$/,
exclude: (/node_modules/ || /app/),
loader: 'babel-loader',
query: {
presets: ['es2015', 'react']
}
},
{
test: /\.css$/,
loaders: [
'style?sourceMap',
'css?modules&importLoaders=1&localIdentName=[path]___[name]__[local]___[hash:base64:5]'
]
}
]
}
},
{
name: 'app',
target: 'node',
entry: './app_dev/bin/www',
output: {
path: 'app_dist/',
filename: 'app_bundle.js'
},
module: {
loaders: [
{
test: /\.js?$/,
exclude: (/node_modules/ || /dev/),
loader: 'babel-loader',
query: {
presets: ['es2015', 'react']
}
},
{
test: /\.json$/,
loader: 'json-loader'
}
]
}
}];