【发布时间】:2022-12-14 01:37:25
【问题描述】:
我正在使用 Angular 14 ang webpack 版本:^5.58.1。
下面是配置:
webpack.config.js
const webpackPlugin = require('@ngtools/webpack').AngularWebpackPlugin;
module.exports = {
mode: 'development',
devtool: "source-map",
entry: {
main: "./js/main.js",
mainDrawer: "./js/divdrawer/main.ts",
polyfills: "./js/divdrawer/polyfills.ts",
entry: "./js/entry.js",
thirdpartylibs: "./js/thirdpartylibs.js"
},
output: {
path: path.join(__dirname, "build/"),
filename: "[name]bundle.js"
},
module: {
rules: [
{
parser: {
system: true,
}
}
test : /\.(tsx|ts)$/,
use: [
{
loader: '@ngtools/webpack',
options: {
configFile: path.resolve('./js/tsconfig.json')
},
},
]
},
},
plugins: [
new webpackPlugin({
tsconfig: './js/tsconfig.json',
}),
new webpack.ContextReplacementPlugin(
/\@angular(\\|\/)core(\\|\/)esm5/,
path.resolve(__dirname, "./js/divdrawer")
)
]
}
生成构建时出现以下错误:
ERROR in ./js/divdrawer/filterMappingRemover.ts
Module build failed (from ./node_modules/@ngtools/webpack/src/index.js):
Error: Emit attempted before Angular Webpack plugin initialization.
at D:\MyProject\node_modules\@ngtools\webpack\src\ivy\loader.js:81:18
@ ./js/entry.js 10:30-97
ERROR in ./js/divdrawer/main.ts
Module build failed (from ./node_modules/@ngtools/webpack/src/index.js):
Error: Emit attempted before Angular Webpack plugin initialization.
at D:\MyProject\node_modules\@ngtools\webpack\src\ivy\loader.js:81:18
at processTicksAndRejections (internal/process/task_queues.js:95:5)
ERROR in ./js/divdrawer/polyfills.ts
Module build failed (from ./node_modules/@ngtools/webpack/src/index.js):
Error: Emit attempted before Angular Webpack plugin initialization.
at D:\MyProject\node_modules\@ngtools\webpack\src\ivy\loader.js:81:18
ERROR in ./js/divdrawer/renderer.ts
Module build failed (from ./node_modules/@ngtools/webpack/src/index.js):
Error: Emit attempted before Angular Webpack plugin initialization.
at D:\MyProject\node_modules\@ngtools\webpack\src\ivy\loader.js:81:18
@ ./js/entry.js 9:18-61
所有条目都抛出上述消息的错误。正如 webpack 配置中提到的,我们有多个条目。
这是在我将我们的项目升级到 angular 14 时检测到的。(Angular 升级步骤:v10 --> v11--> v12--> v13/v14)
如何正确配置 AngularWebpackPlugin?还有其他方法吗?
【问题讨论】:
-
你在哪里可以解决这个问题?我面临同样的问题。
-
@Srihari 我通过降级我的打字稿版本解决了这个问题。我注意到控制台中的 typescript version too high 错误,所以我运行了这个命令:
npm i typescript@">=4.8.2 < 4.9.0" -
但是为什么这个错误正在蔓延......
标签: webpack-5 angular14 angular-webpack angular14upgrade