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

时间:2019-05-16 17:06:47

标签: angular webpack jit

您好,我面临的问题似乎是随机出现。我所有的设置都像魅力一样。

我有几个用webpack编译的角度应用程序。都可以在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都反映如下:

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

上查看最少的问题证明

2 个答案:

答案 0 :(得分:1)

您应仅导入

import 'core-js/es7/reflect';

因为它是github页面上herehere上的一个问题

工作仓库code

答案 1 :(得分:1)

我在v5中有一个Angular应用程序,最近升级到了v9,仅将import 'core-js/es7/reflect';添加到boot.ts或polyfill.ts的顶部就无法解决问题

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

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