【问题标题】:Angular module not available with esnext module configAngular 模块不适用于 esnext 模块配置
【发布时间】:2018-07-31 18:22:13
【问题描述】:

我目前正在逐步更新旧代码库,并且遇到了模块/命名空间的一些问题。

我们有一个models.ts 文件,看起来像这样

angular.module('models', ['ngResource']);
import './company';

company.ts中,我们声明了一个带有工厂函数ACCompany的命名空间,之后我们注册到'models'模块

namespace Company {
  ....
  export function ACCompany(
  $log: ng.ILogService,
  $q: ng.IQService,
  $resource: ng.resource.IResourceService,
  conf: IACConf,
 ) { ... }
}

angular.module('models').factory('CompanyAPI', Company.ACCompany);

这曾经可以正常工作,但最近我将tsconfig 中的module 键更改为“esnext”,将moduleResolution 键更改为“节点”。突然间,“模型”模块似乎不可用。

停下来?

【问题讨论】:

    标签: angular typescript module


    【解决方案1】:

    问题基本上是 es6 模块是静态分析的。所以company.ts 中的代码在models.ts 中的代码之前执行。

    我的解决方案是创建另一个导入 models.ts(第一个)和 company.ts(第二个)的文件,然后将 modles.ts 更改为 angular.module('models', ['ngResource']); 语句

    【讨论】:

      猜你喜欢
      • 2020-08-17
      • 2019-05-17
      • 1970-01-01
      • 1970-01-01
      • 2020-11-23
      • 1970-01-01
      • 1970-01-01
      • 2017-06-22
      • 1970-01-01
      相关资源
      最近更新 更多