Javascript 在TypeScript中导出多个变量以提供CommonJS等效值
在ES6中,与此CommonJS文件等效的TypeScript是什么Javascript 在TypeScript中导出多个变量以提供CommonJS等效值,javascript,typescript,Javascript,Typescript,在ES6中,与此CommonJS文件等效的TypeScript是什么 const Parser = require('./src/parser'); const numerics = require('./src/numerics'); module.exports = Parser; module.exports.numerics = numerics 我尝试过许多不同的方法,这是我得到的最接近的方法: import Parser = require('./src/parser'); im
const Parser = require('./src/parser');
const numerics = require('./src/numerics');
module.exports = Parser;
module.exports.numerics = numerics
我尝试过许多不同的方法,这是我得到的最接近的方法:
import Parser = require('./src/parser');
import numerics = require('./src/numerics');
export = Parser
现在,问题是,它不允许我以TypeScript方式导出任何其他内容
如果我添加这段代码,一切都会像它应该的那样工作,并且与原始JS代码等效
module.exports.numerics=numerics代码>选项1:您可以通过以下方式组合两个模块的值含义:
import Parser = require('./src/parser');
import numerics = require('./src/numerics');
const combined = Object.assign(Parser, {numerics});
export = combined;
但是,任何类型都会丢失
选项2:由于module.exports.numerics=numerics
实际上是在变异解析器
模块,因此只需向该模块添加numerics
声明,然后写入:
import Parser = require('./src/parser');
import numerics = require('./src/numerics');
Parser.numerics = numerics;
export = Parser;
您可以修改原始模块声明,或者根据声明的编写方式,您可以通过添加数值
如果所有的代码都在你的控制之下,也许你应该把数字
作为解析器
模块的一部分,而不是使用这些奇怪的解决方法。我使用的是tsc。我在其他地方看到过这种语法,这是不正确的ES2015。但是,从TypeScript文档来看,它看起来像。