Sets the module system for the program. See the Modules reference page for more information. You very likely want "CommonJS"
for node projects.
Changing module
affects moduleResolution
which also has a reference page.
Here's some example output for this file:
ts
// @filename: constants.ts
export const valueOfPi = 3.142;
// ---cut---
// @filename: index.ts
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;
// @filename: constants.ts
export const valueOfPi = 3.142;
// ---cut---
// @filename: index.ts
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;
CommonJS
ts
// @showEmit
// @module: commonjs
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;
// @showEmit
// @module: commonjs
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;
UMD
ts
// @showEmit
// @module: umd
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;
// @showEmit
// @module: umd
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;
AMD
ts
// @showEmit
// @module: amd
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;
// @showEmit
// @module: amd
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;
System
ts
// @showEmit
// @module: system
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;
// @showEmit
// @module: system
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;
ESNext
ts
// @showEmit
// @module: esnext
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;
// @showEmit
// @module: esnext
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;
ES2020
ts
// @showEmit
// @module: es2020
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;
// @showEmit
// @module: es2020
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;
ES2015
/ES6
ts
// @showEmit
// @module: es2015
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;
// @showEmit
// @module: es2015
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;
If you are wondering about the difference between ES2015
(aka ES6
) and ES2020
, ES2020
adds support for dynamic import
s, and i
.
node16
/nodenext
(nightly builds)
Available from 4.7+, the node16
and nodenext
modes integrate with Node's native ECMAScript Module support. The emitted JavaScript uses either CommonJS
or ES2020
output depending on the file extension and the value of the type
setting in the nearest package.json
. Module resolution also works differently. You can learn more in the handbook.
None
ts
// @showEmit
// @module: none
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;
// @showEmit
// @module: none
// @noErrors
import { valueOfPi } from "./constants";
export const twoPi = valueOfPi * 2;