为什么TS不生成纯javascript代码但它生成node.js函数?

时间:2017-08-10 11:28:20

标签: javascript node.js typescript module

我目前正在学习javascript开发 - typescript,node.js和express。有些事情我不明白:

Typescript是一个javascript超集,它应该从typescript语法生成一个经典的javascript代码,对吧?这个代码用于在app.ts文件中的node.js项目中导入模块:

import * as express from 'express';

使用以下代码生成app.js文件:

Object.defineProperty(exports, "__esModule", { value: true });
// Include dependencies
var express = require("express");

AFAIK require()函数不是'经典'javascript函数,但它是用于导入模块的Node.js函数。这是我不明白的:

为什么TS不生成纯javascript代码但会生成node.js函数?

如果我将使用typescript作为非node.js项目怎么办?打字稿会生成一个不存在的require()函数吗?我错过了什么?

1 个答案:

答案 0 :(得分:1)

在你的tsconfig.json中,你有这样的行

"module": "es2015",
"moduleResolution": "node",

这就是你的打字稿生成这样一个代码的原因。如果要更改目标模块系统,则必须更改配置。