模块t导入的意外值null

问题描述 投票:7回答:2

在将我的应用程序(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'

angular heroku
2个回答
15
投票

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


1
投票

当我想通过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,
....]
})
© www.soinside.com 2019 - 2024. All rights reserved.