我正在开发一个Ionic2应用程序,现在我想进行构建,但是我收到错误。
ionic info
会返回此信息:
Cordova CLI: 6.3.1
Ionic Framework Version: 2.0.0-rc.1
Ionic CLI Version: 2.1.1
Ionic App Lib Version: 2.1.1
Ionic App Scripts Version: 0.0.36
OS: Distributor ID: Ubuntu Description: Ubuntu 16.04.1 LTS
Node Version: v4.2.6
我的 main.prod.ts 如下所示:
import { platformBrowser } from '@angular/platform-browser';
import { enableProdMode } from '@angular/core';
import { AppModuleNgFactory } from './app.module.ngfactory';
enableProdMode();
platformBrowser().bootstrapModuleFactory(AppModuleNgFactory);
每当我尝试ionic build android
时,我都会这样做:
bundle failed: Could not resolve './app.module.ngfactory' from /home/xxx/Desktop/myApp/.tmp/app/main.prod.ts
ionic-app-script task: "build"
答案 0 :(得分:0)
Ionic2使用Angular2的Ahead-Of-Time-Compilation(使用ngc
)。 ngc
的作用是从普通应用模块创建工厂,并通过将NgFactory
添加到模块名称来重命名此模块。
例如,如果您有一个名为MySuperAwesomeApp
的应用模块,ngc
会创建一个导出名为MySuperAwesomeAppNgFactory
的工厂的文件。在构建Android应用时,ionic会搜索MySuperAwesomeAppNgFactory
而不是MySuperAwesomeApp
,从而在找不到时会抛出错误。
在您的情况下,我认为您重命名了您的应用模块(位于./app.module.ts
),但没有更改 main.prod.ts 中的工厂名称。
如需进一步阅读AOT,请参阅Angular2 AOT Doc。