javascript - 无法解析 ApplicationModule : (? 的所有参数)- Angular 7 JIT

标签 javascript angular typescript webpack single-page-application

您好,我面临的问题似乎是随机出现的。我的所有设置都很顺利。

我有几个用 webpack 编译的 Angular 应用程序。在 AOT 中一切正常,但在 JIT 上崩溃。这是因为编译器无法理解注释。

compiler.js:2700 Uncaught Error: Can't resolve all parameters for ApplicationModule: (?).
    at syntaxError (compiler.js:2700)
    at CompileMetadataResolver._getDependenciesMetadata (compiler.js:19254)

我使用"core-js": "^2.6.5"(我也尝试过3.0.1)

我的 polyfill.ts 全部反射(reflect)如下:

import 'core-js/es6/reflect';
import 'core-js/es7/reflect';

我的 webpack 配置包含以下规则:

[
    {
        loader: 'babel-loader',
        options: babelOptions
    },
    {
        loader: 'ts-loader',
        options: {
            transpileOnly: true
        }
    },
    {
        loader: 'angular2-template-loader'
    }
]

我的 babel 配置如下:

presets: [
    [
        '@babel/preset-env',
        {
            modules: false,
            loose: true,
            targets: {
                browsers: [
                    "last 2 versions",
                    "not ie <= 10"
                ]
            },
            useBuiltIns: 'usage',
            corejs: "2",
            debug: false
        }
    ]
]

到目前为止我已经尝试过什么?

  • 升级和降级 core-js。
  • 升级和降级 Angular 7。

您可以查看此 Github repo 的最小问题证明

最佳答案

我有一个 v5 版本的 Angular 应用程序,最近升级到了 v9,纯粹将 import 'core-js/es7/reflect'; 添加到 boot.ts 或 polyfill.ts 的顶部无法修复问题

但是一旦我在第一行加载反射元数据,一切就都解决了。

import 'reflect-metadata';
import 'core-js/es7/reflect';

关于javascript - 无法解析 ApplicationModule : (? 的所有参数)- Angular 7 JIT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56173441/

相关文章:

javascript - 如何更改 :before (pseudo-element) element (with jQuery) 的属性

javascript - ajax/javascript 照片库无法在 iPhone Safari 上运行

css - 如何获取最后一个子 *ngFor 组件列表

angular - 将光标放在焦点上输入字段值的末尾 | Angular 2

javascript - 为什么 radio 组的 [(ngModel)] 不绑定(bind)?

typescript - 为什么在这种情况下返回的总是真条件类型不进行类型检查

javascript - 如何生成随 secret 码?

javascript - 未能 "dynamically"导入 date-fns/locale 库 - TypeScript 给出尝试导入错误

javascript - React 详细信息列表始终为空

javascript - Angular Material select 在固定 block 上的行为很奇怪