不能用Ionic2构建

时间:2016-10-24 20:05:11

标签: ionic-framework ionic2

我正在开发一个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"

1 个答案:

答案 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