编译Angular 2项目时接收“静态解析符号值”相关的错误消息

问题描述 投票:0回答:1

我正在使用一些旧模块:angular-2-local-storage。它被实例化的方式如下:

const LOCAL_STORAGE_SERVICE_CONFIG_TOKEN: string = 'LOCAL_STORAGE_SERVICE_CONFIG';
export const LOCAL_STORAGE_SERVICE_CONFIG = new OpaqueToken(LOCAL_STORAGE_SERVICE_CONFIG_TOKEN);

......还有我的代码:

@NgModule({
  .....
  providers: [
      LocalStorageService,
    {
      provide: LOCAL_STORAGE_SERVICE_CONFIG,
      useValue: { prefix: 'miswap' }
    },
    {

但在构建我的项目时,我会收到:

错误:静态解析符号值时遇到错误。只能初始化变量和常量,因为模板编译器需要此变量的值(原始.ts文件中位置2:22),解析符号LOCAL_STORAGE_SERVICE_CONFIG ....

这是我完全迷失的地方。

该问题看起来像OpaqueToken被弃用为mentioned here。但是,我的项目是Angular 2,而不是4。

那么,我会错过什么吗?这是因为某些角度cli版本错了吗?甚至不知道在哪里找到解决方案!

这是我的package.json的一部分,如果这可能有所帮助:

  "devDependencies": {
    "@angular/compiler-cli": "^2.0.0",
    "@angular/platform-server": "2.0.0",
    "@angular/tsc-wrapped": "0.3.0",
    "@types/async": "2.0.31",
    "@types/core-js": "0.9.32",
angular typescript compilation angular2-services
1个回答
0
投票

只是一个想法:LOCAL_STORAGE_SERVICE_CONFIG在提供它之前有什么价值?在宣布console.log(LOCAL_STORAGE_SERVICE_CONFIG)之前尝试@NgModule。如果它的undefined,你要么没有正确导入它,所以缺少值,或者new OpaqueToken()有问题 - 是不是OpaqueToken?

© www.soinside.com 2019 - 2024. All rights reserved.