在`building中使用`--prod`进行离子滚动标题包问题(请添加@NgModule注释。)

时间:2018-01-11 12:59:12

标签: angular npm ionic2 ionic3 angular5

git repo中有一个包

https://github.com/keephacking/ionic-scrolling-header

有使所有东西兼容的东西。但在用

构建我的应用程序时

ionic build --prod命令,aot build失败,错误如下所示。

[18:02:48]  ngc started ...
[18:02:57]  typescript error
        Unexpected value 'ScrollingHeaderModule in
        xxx/node_modules/ionic-scrolling-header/scrolling-header.module.d.ts' imported by the
        module 'xxxModule in xxx/xxx.module.ts'. Please add a @NgModule
        annotation.

Error: The Angular AoT build failed. See the issues above
at xxx\node_modules\@ionic\app-scripts\dist\aot\aot-compiler.js:237:55
at step (xxx\node_modules\@ionic\app-scripts\dist\aot\aot-compiler.js:32:23)
at Object.next (xxx\node_modules\@ionic\app-scripts\dist\aot\aot-compiler.js:13:53)
at fulfilled (xxx\node_modules\@ionic\app-scripts\dist\aot\aot-compiler.js:4:58)
[18:02:57]  copy finished in 10.69 s

我在Package.json中的依赖关系

{
   "dependencies": {
    "@angular/common": "5.2.0",
    "@angular/compiler": "5.2.0",
    "@angular/compiler-cli": "5.2.0",
    "@angular/core": "5.2.0",
    "@angular/forms": "5.2.0",
    "@angular/http": "5.2.0",
    "@angular/platform-browser": "5.2.0",
    "@angular/platform-browser-dynamic": "5.2.0",
    "@ionic-native/core": "4.4.2",
    "@ionic/storage": "2.1.3",
    "es6-promise-plugin": "^4.1.1",
    "firebase": "^4.8.0",
    "ionic-angular": "3.9.2",
    "ionic-plugin-keyboard": "^2.2.1",
    "ionicons": "3.0.0",
    "promise-polyfill": "^7.0.0",
    "rxjs": "5.5.6",
    "sw-toolbox": "3.6.0",
    "zone.js": "0.8.18"
  },
  "devDependencies": {
    "@angular/cli": "^1.6.3",
    "@ionic/app-scripts": "3.1.7",
    "typescript": "2.6.2"
  }
}

非常好奇,知道该套餐中缺少什么。

感谢

5 个答案:

答案 0 :(得分:1)

我按照以下步骤操作,它对我有用,希望它可以帮助你

第1步:安装npm install ionic-scrolling-header --sav-dev

第2步:打开您的home.moduel.ts文件并导入此import {ScrollingHeaderModule} from 'ionic-scrolling-header';,不要忘记在导入中添加此内容

imports: [
    ScrollingHeaderModule,
    IonicPageModule.forChild(HomePage),
  ],

步骤3:在您的home.ts文件中添加此@ViewChild(Content) content: Content;

第4步:在home.html页面中添加此<ion-header [scrollingHeader]='content'>

有关详细信息,请查看此link

答案 1 :(得分:1)

我已按照以下步骤进行修复:

0-Download project from author repository
1-Rename "src" folder to "ionic-scrolling-header", and copy to your directive(folder)
2-Create a directive folder inside src (folder)
3-Change import in your app.module.ts, as you can see on my print:

screenshot

答案 2 :(得分:0)

当我的tsconfig.json没有发出声明文件时,我遇到了这个错误。

请确保在构建ScrollingHeaderModule的代码库中的tsconfig.json中包含以下内容:

"declaration": true,

答案 3 :(得分:0)

此问题已在最新版本的ionic-scrolling-header程序包中修复。

npm install ionic-scrolling-header@latest将解决它。

答案 4 :(得分:0)

离子6.7.0,Corodova 0.14.0

遇到类似问题,尝试了所有操作。...后来发现我在文件 directives.module.ts 中缺少导入类'XYZ'的情况。因此,在该文件以及NgModule声明中添加了import语句。

import {ParallaxHeader} from './parallax-header/parallax-header';
@NgModule({
declarations: [ParallaxHeader],
imports: [],
exports: [ParallaxHeader] })