Webpack CLI的体系结构最近发生了变化,将服务器工具放置在 @ webpack-cli / serve 中。我不确定我的问题是否是由于这个原因引起的,但是由于搜索倾向于使用旧语法,因此目前很难找到有关该信息的信息(如果我正确地解释了这个问题,那么我很可能不是由于无知而已) )。
我的 package.json 具有以下依赖关系和脚本。
"scripts": {
"go": "webpack serve", ...
"build": "webpack --mode production"
},
"dependencies": {
"@types/react": "^16.4.14",
"@types/react-dom": "^16.0.7",
"awesome-typescript-loader": "^5.2.1",
"react": "^16.5.1",
"react-dom": "^16.5.1",
"typescript": "^3.0.3",
"webpack": "^4.19.0"
},
"devDependencies": {
"@webpack-cli/serve": "^0.1.0",
"webpack-cli": "^3.1.0"
}
当我执行 npm run build 时,它会按预期工作。但是,当我执行 npm run go 时,出现了我无法解释的错误,更不用说知道如何解决了。
C:\ Source \ Poc \ react-poc-02 \ node_modules \ webpack-cli \ bin \ prompt-command.js:108 require(pathForCmd).default(... args); // eslint-disable-line ^ TypeError:require(...)。默认不是函数 在提示安装时(C:\ Source \ Poc \ react-poc-02 \ node_modules \ webpack-cli \ bin \ prompt-command.js:108:30) 在C:\ Source \ Poc \ react-poc-02 \ node_modules \ webpack-cli \ bin \ cli.js:45:37 在对象。 (C:\ Source \ Poc \ react-poc-02 \ node_modules \ webpack-cli \ bin \ cli.js:530:3) 在Module._compile(module.js:569:30) 在Object.Module._extensions..js(module.js:580:10) 在Module.load(module.js:503:32) 在tryModuleLoad(module.js:466:12) 在Function.Module._load(module.js:458:3) 在Module.require(module.js:513:17) 在要求时(internal / module.js:11:18)...
似乎其中一个Webpack软件包中存在语法问题,我认为这不太可能。我宁愿相信我缺少了一些东西,但我却无法说出真相。
我有以下Webpack配置
const webpack = {
entry: './src/client/index.tsx',
mode: "development",
output: {
filename: 'target/bundle.js',
},
resolve: { extensions: ['.ts', '.tsx', '.js', '.json'] },
module: {
rules: [{
test: /\.[t]sx?$/,
include: /src/,
use: [{
loader: "awesome-typescript-loader",
options: { configFileName: "tsconfig.json" }
}]
}]
}
};
module.exports = webpack;
和打字稿
{
"compilerOptions": {
"outDir": "./target/",
"sourceMap": true,
"skipLibCheck": true,
"noImplicitAny": true,
"module": "commonjs",
"target": "es5",
"jsx": "react"
},
"include": [
"./src/**/*"
],
"exclude": [
"node_modules"
]
}