离子服务和离子构建工作正常,离子构建--prod创建失败的代码

时间:2019-02-21 18:11:11

标签: angular ionic-framework dependency-injection progressive-web-apps ionic4

我有一个PWA应用,当我运行ionic serve时可以很好地运行。
运行ionic build时,我得到的浏览器版本(在www中)也可以正常使用。
但是,当我为生产ionic build --prod进行构建时,该构建运行完成,但是代码(在www文件夹中)无法呈现,并且出现错误,没有给出调试的线索。我该如何调试? 错误:

ERROR Error: Uncaught (in promise): Error: StaticInjectorError[n -> n]: 
  StaticInjectorError(Platform: core)[n -> n]: 
    NullInjectorError: No provider for n!
Error: StaticInjectorError[n -> n]: 
  StaticInjectorError(Platform: core)[n -> n]: 
    NullInjectorError: No provider for n!
    at t.get (main.8c77a03c89ac993f4bf3.js:1)
    at main.8c77a03c89ac993f4bf3.js:1
    at t (main.8c77a03c89ac993f4bf3.js:1)
    at t.get (main.8c77a03c89ac993f4bf3.js:1)
    at main.8c77a03c89ac993f4bf3.js:1
    at t (main.8c77a03c89ac993f4bf3.js:1)
    at t.get (main.8c77a03c89ac993f4bf3.js:1)
    at lo (main.8c77a03c89ac993f4bf3.js:1)
    at t.get (main.8c77a03c89ac993f4bf3.js:1)
    at lo (main.8c77a03c89ac993f4bf3.js:1)
    at P (polyfills.b22498af0f647703dfdb.js:1)
    at P (polyfills.b22498af0f647703dfdb.js:1)
    at polyfills.b22498af0f647703dfdb.js:1
    at e.invokeTask (polyfills.b22498af0f647703dfdb.js:1)
    at Object.onInvokeTask (main.8c77a03c89ac993f4bf3.js:1)
    at e.invokeTask (polyfills.b22498af0f647703dfdb.js:1)
    at t.runTask (polyfills.b22498af0f647703dfdb.js:1)
    at g (polyfills.b22498af0f647703dfdb.js:1)

离子信息:

Ionic:

   ionic (Ionic CLI)             : 4.10.3 (/usr/local/lib/node_modules/ionic)
   Ionic Framework               : @ionic/angular 4.0.1
   @angular-devkit/build-angular : 0.13.1
   @angular-devkit/schematics    : 7.3.1
   @angular/cli                  : 7.3.1
   @ionic/angular-toolkit        : 1.3.0

Cordova:

   cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1)
   Cordova Platforms     : android 7.1.4, browser 5.0.4
   Cordova Plugins       : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 3.1.2, (and 4 other plugins)

System:

   NodeJS : v8.15.0 (/usr/local/bin/node)
   npm    : 6.7.0
   OS     : macOS Mojave
   Xcode  : Xcode 10.1 Build version 10B61

1 个答案:

答案 0 :(得分:-1)

这意味着您有一个名为n的东西,但没有正确导入。

它应该在提供者下面的app.module.ts中。

如果您在页面中使用此功能,则还需要将其添加到pagename.module.ts中。

app.module.ts:

@NgModule({
... 
 providers: [n]
... 

page.module.ts:

@NgModule({
  declarations: [
    PageNamePage,
  ],
  imports: [
    IonicPageModule.forChild(SignupPage)
  ],
  exports: [
    PageNamePage
  ],
  providers: [
    n
  ]
})