【问题标题】:npm run ionic:build --prod giving strange errornpm run ionic:build --prod 给出奇怪的错误
【发布时间】:2018-10-02 15:33:24
【问题描述】:

当我尝试运行 npm run ionic:build --prod 时,它给了我以下错误:

错误:无法确定类 OverlayPortal 的模块 F:/D/IONIC/quicktask/quicktask-web-froala/node_modules/ionic-angular/umd/components/app/overlay-portal.d.ts! 将 OverlayPortal 添加到 NgModule 以修复它。无法确定类 IonicApp 的模块 F:/D/IONIC/quicktask/quicktask-web-froala/node_modules/ionic-angular/umd/components/app/app-root.d.ts!添加 IonicApp 到 NgModule 来修复它。无法确定类 ClickBlock 的模块 F:/D/IONIC/quicktask/quicktask-web-froala/node_modules/ionic-angular/umd/components/app/click-block.d.ts! 将 ClickBlock 添加到 NgModule 以修复它。无法确定幻灯片类的模块 F:/D/IONIC/quicktask/quicktask-web-froala/node_modules/ionic-angular/umd/components/slides/slides.d.ts!添加 滑动到 NgModule 来修复它。

现在,如果我尝试使用以下代码将其包含在 app.module.ts 中:

import { OverlayPortal } from '../../node_modules/ionic-angular/umd/components/app/overlay-portal.d';

@NgModule({
  declarations: [
    OverlayPortal, //for aot compilation

在做ionic serve 之后我得到的错误是 -

模块构建失败:错误:ENOENT:没有这样的文件或目录,打开 'F:\D\IONIC\quicktask\quicktask-web-froala\node_modules\ionic-angular\umd\components\app\overlay-portal。 d.js' 在错误(本机)

如何使用--prod 构建并使用ionic-serve 运行而没有任何错误。

编辑

app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { ErrorHandler, NgModule } from '@angular/core';
import { App, NavController,  IonicErrorHandler, IonicModule,IonicApp } from 'ionic-angular'; // removed IonicApp from here

import { MyApp } from './app.component';
import { HomePage } from '../pages/home/home';
import { ListPage } from '../pages/list/list';
import { LoginPage } from '../pages/login/login';
import { NewtaskPage } from '../pages/newtask/newtask';
//import { DashboardPage } from '../pages/dashboard/dashboard';
import { TaskgivenPage } from '../pages/taskgiven/taskgiven';
import { MytaskPage } from '../pages/mytask/mytask';

import { CommunicationPage } from '../pages/communication/communication';


import { CommunicationgivenPage } from '../pages/communicationgiven/communicationgiven';
import { CommunicationreportPage } from '../pages/communicationreport/communicationreport';
import { GivencommunicationclosedPage } from '../pages/givencommunicationclosed/givencommunicationclosed';

import { TestPage } from '../pages/test/test';
import { LogoutPage } from '../pages/logout/logout';
import { MyclosedtaskPage } from '../pages/myclosedtask/myclosedtask';
import { GivenclosedtaskPage } from '../pages/givenclosedtask/givenclosedtask';
import { ReporttoPage } from '../pages/reportto/reportto';
import { SlidePage } from '../pages/slide/slide';


import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
//import { Firebase } from '@ionic-native/firebase';
import { SpeechRecognition } from '@ionic-native/speech-recognition';


import { Headers, Http, HttpModule ,Response } from '@angular/http';
import { IonicStorageModule } from '@ionic/storage';

import { TimeAgoPipe } from 'time-ago-pipe';

import {Commopen} from '../pages/givencommunicationclosed/commopen';
import { Userimage } from '../pages/dashboard2/userimage';

import { MycommclosedPage } from '../pages/mycommclosed/mycommclosed';
import { Dashboard2Page } from '../pages/dashboard2/dashboard2';
import { MytaskuserwisePage } from '../pages/mytaskuserwise/mytaskuserwise';
import  { ProfilePage } from '../pages/profile/profile';
import { PaymentPage } from '../pages/payment/payment';
import { InAppBrowser } from '@ionic-native/in-app-browser';
import { InfoPage } from '../pages/info/info';
import { PerformancePage } from '../pages/performance/performance';
import { PopoverPage } from '../pages/communicationgiven/popover';
import { Updatepopup} from '../pages/communicationgiven/updatepopup';
import { TimelinePage } from '../pages/timeline/timeline';
import { Commpopup } from '../pages/timeline/commpopup';
import {SearchPage} from '../pages/search/search';
import {SuggestionPage} from '../pages/suggestion/suggestion';
import {Mytaskpopup} from '../pages/mytask/mytaskpopup';
import {Userwisepopup} from '../pages/mytaskuserwise/userwisepopup';
import {Taskgivenpopup} from '../pages/taskgiven/taskgivenpopup';
import {Reportpopup} from '../pages/reportto/reportpopup';
import {FollowerPage} from '../pages/follower/follower';
import {CommfollowerPage} from '../pages/commfollower/commfollower';
import { CommPage } from '../pages/comm/comm';
import {ReportsPage} from '../pages/reports/reports';
import { DashmodalPage } from '../pages/dashmodal/dashmodal';
import { Dashmodal1Page } from '../pages/dashmodal1/dashmodal1';
import { LabelPage } from '../pages/label/label';
import { SortPage } from '../pages/sort/sort';
import { SortuserwisePage } from '../pages/sortuserwise/sortuserwise';
import { LastseenPage } from '../pages/lastseen/lastseen';
import { MemolistPage } from '../pages/memolist/memolist';
import { OfcmemoPage } from '../pages/ofcmemo/ofcmemo';
import { CommadminPage } from '../pages/commadmin/commadmin';
import { AdminpcPage } from '../pages/adminpc/adminpc';

import {AiPage} from '../pages/ai/ai';
import { Autosize } from '../directives/autosize/autosize';

// Import Froala Editor.
import "froala-editor/js/froala_editor.pkgd.min.js";
import { NoSanitizePipe } from '../pipes/no-sanitize/no-sanitize';

// Import Angular2 plugin.
import { FroalaEditorModule, FroalaViewModule } from 'angular-froala-wysiwyg';
import {Nl2BrPipeModule} from 'nl2br-pipe';
import {LinkyModule} from 'angular-linky';

//Search
import { SelectSearchableModule } from 'ionic-select-searchable';

// for ionic build --prod errors or aot compilation
// import { OverlayPortal } from '../../node_modules/ionic-angular/umd/components/app/overlay-portal.d';
//import { IonicApp } from '../../node_modules/ionic-angular/umd/components/app/app-root.d';
//import { ClickBlock } from '../../node_modules/ionic-angular/umd/components/app/click-block.d';
//import { Slides } from '../../node_modules/ionic-angular/umd/components/slides/slides.d';
import { FilterArrayPipe } from '../pages/dashboard2/filterpipe';
import {IonicPage, NavParams, Slides} from 'ionic-angular';

@NgModule({
  declarations: [
  //  OverlayPortal, //for aot compilation
 //   IonicApp , //for aot compilation for app-root.d
  //  ClickBlock, //for aot compilation
  //  Slides, //for aot compilation
  IonicApp,
    FilterArrayPipe, //for aot compilation
    TimeAgoPipe,
    MyApp,
    HomePage,
    ListPage,
    LoginPage,
    NewtaskPage,
   // DashboardPage,
    TaskgivenPage,
    MytaskPage,
    CommunicationPage,
    CommunicationgivenPage,
CommunicationreportPage,
GivencommunicationclosedPage,    
    TestPage,
    LogoutPage,
    MyclosedtaskPage,
    GivenclosedtaskPage,
    ReporttoPage,
    Dashboard2Page,
    MytaskuserwisePage,
    MycommclosedPage,
    ProfilePage,
    PaymentPage,
    InfoPage,
    SlidePage,
    PerformancePage ,
    PopoverPage,
    Updatepopup,
    SearchPage,
    TimelinePage,
    Commpopup,
    SuggestionPage,
    Mytaskpopup,
    Userwisepopup,
    Taskgivenpopup,
    Reportpopup,
    AiPage,
    Autosize,
    NoSanitizePipe,
    FollowerPage,
    CommfollowerPage,
    CommPage,
    ReportsPage,
    DashmodalPage,
    Dashmodal1Page,
    LabelPage,
    SortPage,
    SortuserwisePage,
    LastseenPage,
    MemolistPage,
    OfcmemoPage,
    CommadminPage,
    AdminpcPage,
    //OverlayPortal
  ],
  imports: [
    BrowserModule,
    HttpModule,
    Nl2BrPipeModule,
    LinkyModule,
    SelectSearchableModule,
    IonicModule.forRoot(MyApp),
    FroalaEditorModule.forRoot(),
    FroalaViewModule.forRoot(),
    IonicStorageModule.forRoot()
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp,
    HomePage,
    ListPage,
    LoginPage,
    NewtaskPage,
   // DashboardPage,
    TaskgivenPage,
    MytaskPage,
    CommunicationPage,
    CommunicationgivenPage,
    CommunicationreportPage, 
    GivencommunicationclosedPage,
    TestPage,
    LogoutPage,
    MyclosedtaskPage,
    GivenclosedtaskPage,
    ReporttoPage,
    Dashboard2Page,
    MytaskuserwisePage,
    MycommclosedPage,
    ProfilePage,
    PaymentPage,
    InfoPage,
    SlidePage,
    PerformancePage,
    PopoverPage,
    Updatepopup,
    SearchPage,
    TimelinePage,
    Commpopup,
    SuggestionPage,
    Mytaskpopup,
    Userwisepopup,
    Taskgivenpopup,
    Reportpopup,
    AiPage,
    FollowerPage,
    CommfollowerPage,
    CommPage,
    ReportsPage,
    DashmodalPage,
    Dashmodal1Page,
    LabelPage,
    SortPage,
    SortuserwisePage,
    LastseenPage,
    MemolistPage,
    OfcmemoPage,
    CommadminPage,
    AdminpcPage
  ],
  providers: [
    StatusBar,
    SplashScreen,
    //Firebase,
    Commopen,
    GivenclosedtaskPage,
    Userimage,
    InAppBrowser,
    SpeechRecognition,
    {provide: ErrorHandler, useClass: IonicErrorHandler}
  ]
})
export class AppModule {}

【问题讨论】:

标签: angular ionic-framework ionic2 ionic3


【解决方案1】:

从 URL 中删除“umd”

import { OverlayPortal } from "../../node_modules/ionic-angular/components/app/overlay-portal.d";

这里有更多 => Error: Cannot determine the module for class OverlayPortal in --prod

【讨论】:

    【解决方案2】:

    我解决了我的问题。在我的项目中,我使用了一个过时的模块ion-datepicker。如果您也遇到同样的问题,您可以按照以下步骤查找受感染或过时的模块。

    1.第一步:

    在您的项目中查找所有文件 from 'ionic-angular/ 一句话,

    2。第二步:

    如果你发现这个词像 import { xyz } from 'ionic-angular/xyz/abc'

    更新那个模块。

    如果没有可用的更新,那么您可以删除该模块

    npm uninstall ion-datepicker(or your defected module)
    

    在此之后,您需要从 app.module.ts 中删除该模块,以及从那里使用 remove 的任何位置,然后您可以尝试

    ionic cordova build android --prod --release

    【讨论】:

      【解决方案3】:

      我遇到了同样的错误。对我来说,这是由于 Ionic 导入不一致(一些来自顶级 ionic-angular,一些直接从组件导入,例如 ionic-angular/components/loading/loading-controller)。

      https://stackoverflow.com/a/50858210/6599076

      【讨论】:

        【解决方案4】:

        您用来导入的文件是type definitions 文件,扩展名为.d.js

        您应该改为从.ts 文件导入。检查文件夹,你应该得到它

        【讨论】:

        • 但是我没有从这个文件中导入任何东西,我检查了app.component.tsapp.module.ts
        • import { OverlayPortal } from '../../node_modules/ionic-angular/umd/components/app/overlay-portal.d'; 这是你的导入
        • 所以你正在从这里导入OverlayPortal
        • 我已经复制了上面的app.module.ts,该行已被注释,我没有导入它
        • 你在某处使用 OverlayPortal 吗?
        猜你喜欢
        • 2018-10-03
        • 2023-04-02
        • 2021-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多