Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在TypeScript中导出多个变量以提供CommonJS等效值_Javascript_Typescript - Fatal编程技术网

Javascript 在TypeScript中导出多个变量以提供CommonJS等效值

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

在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');
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文档来看,它看起来像。