node.js - 错误:配置对象无效。Webpack 已使用与 API 模式不匹配的配置对象进行初始化
问题描述
当我尝试执行“npm run dev”时,我遇到了这个奇怪的错误。首先,我克隆了一个 repo,然后更改为我执行“npm install”的项目文件夹。
完成后,我尝试了“npm run dev”,但它给了我一个很长的错误:
无效的配置对象。Webpack 已使用与 API 模式不匹配的配置对象进行初始化。- configuration[0].mode 应该是以下之一:“开发”| “生产” | “无” -> 启用生产优化或开发提示。- configuration[1].mode 应该是以下之一:“开发”| “生产” | “无” -> 启用生产优化或开发提示。
我的 webpack.config.js 文件:
const path = require('path');
var nodeExternals = require('webpack-node-externals');
const serverConfig = {
mode: process.env.NODE_ENV || 'development',
entry: './src/server/server.ts',
module: {
rules: [
{
test: /\.tsx?$/,
loader: 'ts-loader',
exclude: /node_modules/,
options: {
configFile: 'tsconfig.server.json'
}
}
]
},
resolve: {
extensions: ['.tsx', '.ts', '.js']
},
output: {
filename: 'server.js',
path: path.resolve(__dirname, 'dist')
},
target: 'node',
node: {
__dirname: false
},
externals: [nodeExternals()]
};
const clientConfig = {
mode: process.env.NODE_ENV || 'development',
entry: './src/client/index.tsx',
devtool: 'inline-source-map',
module: {
rules: [
{
test: /\.tsx?$/,
loader: 'ts-loader',
exclude: /node_modules/,
options: {
configFile: 'tsconfig.client.json'
}
},
{
test: /\.scss$/,
use: [
'style-loader',
'css-loader',
'sass-loader',
]
}
]
},
resolve: {
extensions: ['.tsx', '.ts', '.js', '.css', '.scss']
},
output: {
filename: 'app.js',
path: path.resolve(__dirname, 'public/js')
}
};
module.exports = [serverConfig, clientConfig];
解决方案
推荐阅读
- json - 在 Sketch 中删除文本样式
- javascript - 反应角材料数据表
- git - 如何获得`git diff origin/master`的相反方向
- javascript - 标签中的自动转发 Gmail 不会转发完整的对话
- c# - 单击图钉/标记时在地图上添加按钮(xamarin 形式)
- powershell - 如果使用电源脚本存在,如何复制和覆盖其中的现有文件夹和文件
- android - 发生IDE致命错误字符串索引超出范围android studio
- c++ - 最大元素的打印索引
- javascript - 如何使用 ajax 帖子和数据表附加数据不起作用?
- r - 双for循环的高效实现