You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular导入自定义模块报错:已添加@NgModule仍提示需添加注解

解决Angular导入自定义模块时的"Unexpected value"错误

兄弟,我太懂这个坑了!你遇到的这个错误本质上是Angular模块规则的典型误解——@NgModule里的imports数组只能用来导入其他带@NgModule装饰器的模块类,而你肯定是不小心把ActionsService这个服务塞进了ReduxStoreModule的imports数组里,这就触发了Angular的报错。

给你一步步排查修复:

  • 打开你的ReduxStoreModule文件,找到@NgModule装饰器的配置对象
  • 定位到imports数组,把ActionsService从里面彻底移除
  • 把ActionsService放到正确的位置:
    • 如果这个服务只在ReduxStoreModule相关组件里使用,就加到当前模块的providers数组中
    • 如果想让整个应用都能注入这个服务,更推荐的方式是给ActionsService加上@Injectable({ providedIn: 'root' })装饰器(Angular 6+支持,不需要手动加到任何模块的providers里)

给你举个正确的ReduxStoreModule示例:

import { NgModule } from '@angular/core';
import { ActionsService } from './actions.service';

@NgModule({
  declarations: [], // 这里放组件、指令、管道
  imports: [
    // 只能放其他NgModule,比如CommonModule、RouterModule之类的
  ],
  providers: [ActionsService] // 服务就该放在这里!
})
export class ReduxStoreModule { }

另外再确认下:你的ActionsService应该用@Injectable装饰,而不是@NgModule——只有模块类才需要@NgModule,服务、组件这些都有各自对应的装饰器,别搞混啦~

内容的提问来源于stack exchange,提问作者Jacob Weisenburger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:52:33