1

我正在尝试在我的 angular/webpack 应用程序上实现 ngc 编译配置。我的根文件夹中有一个 tsConfig-aot.json,如下所示。

{
   ....
  "files": [
    "src/app/app.module.ts",
    "src/app/lazy/about/about.module.ts",
    "src/app/lazy/employees/employees.module.ts",
    "src/app/lazy/login/login.module.ts",
    "src/app/lazy/employee-details/employee-details.module.ts"
  ],
  "include": [
    "src/polyfills.ts",
    "src/vendor.ts"
  ],
  "exclude": [
    "./node_modules",
    "./**/*.e2e.ts",
    "./**/*.spec.ts",
    "./src/main-aot.ts"
  ],
  "angularCompilerOptions": {
    "genDir": "./aot",
    "skipMetadataEmit": true
  }
}

我的 webpack 配置如下。

module.exports = {
    entry: {
        'polyfills': './src/polyfills.ts',
        'vendor': './src/vendor.ts',
        'app': './src/main-aot.ts'
    },

    resolve: {
        extensions: ['.ts', '.js']
    },

    module: {
        rules: [
            {
                test: /\.ts$/,
                loaders: [
                    {
                        loader: '@ngtools/webpack',
                        options: { configFileName: helpers.root('tsconfig-aot.json') }
                    }, 'angular-router-loader?aot=true&genDir=aot/', 'angular2-template-loader'
                ],
                exclude: [/node_modules/, /\.(spec|e2e)\.ts$/]
            },


        ]
    },

    plugins: [
        new AngularCompilerPlugin({
            tsConfigPath: 'tsconfig-aot.json',
            sourceMap: true
        }),

        new webpack.optimize.CommonsChunkPlugin({
            names: ['app', 'vendor', 'polyfills']
        }),
        ...
    ]
};

我正在尝试为我的应用程序实现 aot 构建配置。但是,当我运行./node_modules/.bin/ngc -p ./tsconfig-aot.json. 我的应用程序编译失败并显示错误消息

TypeScript 编译中缺少 src/main-aot

我的 main.aot 是这样写的

import { platformBrowser } from '@angular/platform-browser';
import { enableProdMode } from '@angular/core';

import { AppModuleNgFactory } from '../aot/src/app/app.module.ngfactory';
enableProdMode();

platformBrowser().bootstrapModuleFactory(AppModuleNgFactory);

当我tsconfig-aot通过在文件对象中添加 main-aot 来更新我的时,错误更改为"aot/src/app/app.module.ngfactory" has no exported member 'AppModuleNgFactory'. 我推测后者是因为尚未生成 aot 文件夹。请问我该如何正确配置这个?任何帮助,将不胜感激。

4

0 回答 0