在将我的应用程序(angular2-express-starter的一个分支)部署到Heroku时,我遇到了这个奇怪的问题。 https://totalautosapp.herokuapp.com/起初我认为它是Heroku,但我已将其部署到netlify并且同样发生。
它说:
Error: Unexpected value 'null' imported by the module 't'
是的,有很多类似的问题让我能够更好地理解这个问题,但是让我眼花缭乱的是模块't'。它指的是什么模块?
大多数问题都表明意外的值是'undefined',而不是'null'。这让我想到它正在导入一个空模块,但仍然不知道哪一个正在这样做,即使它在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(instrumentation)中的本地运行
Object { ngModule: StoreDevtoolsModule(), providers: Array[3] }
而这一个来自heroku
null main.d61dd7a248d9bbd30ca6.bundle.js:1:5868
Error: Unexpected value 'null' imported by the module 't'
我遇到了同样的问题,这是因为我的NgModules类具有“export default”修饰符。查看您的模块是否具有导出默认值并删除“默认”修饰符,因为ngc不支持它。
当我想通过npm run build
构建我的项目时,我遇到了同样的问题,我搜索了许多解决方案,但是没有一个能帮助我。问题的解决方案很简单!
我正在使用ng-lazyload-image
,我导入它没有花括号。在LazyLoadImageModule
vuala周围添加它之后就有效了。如果这会对某人有所帮助,那将会很高兴。
问题:
import LazyLoadImageModule from 'ng-lazyload-image';
@NgModule({
imports: [
LazyLoadImageModule,
....]
})
解:
import { LazyLoadImageModule } from 'ng-lazyload-image';
@NgModule({
imports: [
LazyLoadImageModule,
....]
})