我目前正在學習javascript開發 - typescript,node.js和express。有一些我不明白:爲什麼TS不生成純JavaScript代碼,但它會生成一個node.js函數?
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()
函數?我錯過了什麼?
'require'不純的JavaScript怎麼樣? – PeterMader
我讀過'require()'的地方,它只支持目前使用的設備和瀏覽器尚未廣泛支持的ECMAscript的最新版本。 – Incredible
這不是真的。 'require'是CommonJS的一部分,NodeJS實現CommonJS。你告訴TypeScript編譯成CommonJS,所以它會給你CommonJS代碼。 – PeterMader