相关疑难解决方法(0)

从TypeScript发出的AMD依赖项中省略"require"和"exports"

给定以下TypeScript文件,

export = {};
Run Code Online (Sandbox Code Playgroud)

tsc(带"module": "amd")会发出:

define(["require", "exports"], function (require, exports) {
  "use strict";
   return {};
});
Run Code Online (Sandbox Code Playgroud)

但是,我宁愿它发出

define([], function() {
    "use strict";
    return {};
});
Run Code Online (Sandbox Code Playgroud)

......并且只包括require或者exports我明确地导入它们,即

import relativeRequire = require("require");
Run Code Online (Sandbox Code Playgroud)

有没有办法告诉TypeScript不要发射requireexports发射AMD模块(即要求它不要使用CommonJS简化包装)?

笔记:

  • 我建议的输出完全符合AMD规范.
  • 一个空的依赖关系数组是唯一的方法用于模块到具有零间的依赖关系(相对于省略依赖性阵列,这意味着require,exportsmodule依赖关系).

更新2017年7月4日:看起来这实际上是TypeScript GitHub仓库中的一个开放问题:https://github.com/Microsoft/TypeScript/issues/669

在实施之前,是否有任何实用的解决方法?(或者,有没有办法让TypeScript这样做?)

amd typescript

6
推荐指数
1
解决办法
1006
查看次数

标签 统计

amd ×1

typescript ×1