2017-01-12 56 views
5

当我的应用程序(angular2-express-starter的一个分支)部署到Heroku时,我遇到了这个奇怪的问题。 https://totalautosapp.herokuapp.com/ 起初我认为这是Heroku,但我已经部署它netlify和相同的事情发生。由模块导入的意外值null

它说:

Error: Unexpected value 'null' imported by the module 't' 

是的,有很多的,让我理解这个问题好了很多类似的问题,但什么蒙蔽了我是模块“T”。它指的是什么模块?

而大多数问题表明,意外值是'未定义',而不是'空'。这给我带来了一个想法,即它正在导入一个空模块,但仍然不知道哪一个正在做,即使它在devEnvironment中工作。

这里是我的app.module.ts

import { BrowserModule } from '@angular/platform-browser'; 
import { NgModule } from '@angular/core'; 
import { FormsModule } from '@angular/forms'; 
import { HttpModule } from '@angular/http'; 
import { AppComponent } from './app.component'; 
import { routing } from './app.router'; 
import { effects, store, instrumentation } from './store'; 
import { SharedModule } from './shared/shared.module'; 

@NgModule({ 
    declarations: [ 
    AppComponent 
    ], 
    imports: [ 
    BrowserModule, 
    SharedModule, 
    FormsModule, 
    HttpModule, 
    store, 
    effects, 
    routing, 
    instrumentation 
    ], 
    bootstrap: [ 
    AppComponent 
    ] 
}) 
export class AppModule {} 

如果有人会采取一个深沉的样子,这是我的共享模块:https://codeshare.io/adKKz5

任何帮助将十分赞赏。

编辑:

使用的console.log我能够从我的本地构建和Heroku的一个比较输出。所以我发现null模块是来自ngrx/store-devtools的StoreDevToolsModule。

该输出来自于线的console.log(仪表)本地运行

Object { ngModule: StoreDevtoolsModule(), providers: Array[3] } 

而这一次从Heroku的

null main.d61dd7a248d9bbd30ca6.bundle.js:1:5868 

Error: Unexpected value 'null' imported by the module 't'

+0

您可以执行'console.log(yourModules);'在'@ NgModule'之前查看哪一个为null – echonax

+0

谢谢,我应该在哪里具体执行此操作? –

+0

进口后例如 – echonax

回答

6

我有同样的问题,这是因为我的NgModules类具有“导出默认值”修饰符。看看你的模块是否有导出默认值,并删除“默认”修饰符,因为它不受ngc支持。

+1

谢谢!它为我工作 –

+0

看到这[问题](https://github.com/angular/angular/issues/11402)了解更多信息 – GProst

相关问题