ES6
ES6, "
a) tsconfig.json ES6 ES6 :
{
...
"target": "es6",
"module": "es6",
...
}
, ES6 NodeJS.
b). TypeScript JavaScript ES6 ES5, JavaScript tsconfig.json compilerOptions - , .js / :
{
...
"target": "es5",
"module": "commonjs",
"allowJs": true,
...
}
, TypeScript / , : http://ivanz.com/2016/06/07/how-does-typescript-discover-type-declarations-definitions-javascript/
, JavaScript - ( NPM), :
/// <reference path="../typings/convert-time.d.ts" />, tsconfig.json- ,
convert-time.d.ts , convert-time.js - ,
declare module "convert-time" {. , .ds .js "" , "ambient" (. ) ( declare, , , , NPM)
:
..///Convert-time.js:
export const minutes = sec => sec * 60
export const hours = sec => minutes(sec) * 60
export const days = sec => hours(sec) * 24
export const weeks = sec => days(sec) * 24
export const years = sec => days(sec) * 365
..///-time.ts.d:
export function minutes(sec: number): number;
export function hours(sec: number): number;
export function days(sec: number): number;
export function weeks(sec: number): number;
export function years(sec: number): number;
index.ts:
import { minutes, days } from '../test/helpers/convert-time';
tsconfig.json( ES5)
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"allowJs": true,
"noImplicitAny": false,
"removeComments": true,
"preserveConstEnums": true,
"sourceMap": true,
"jsx": "react"
},
"files": [
"/test/helpers/convert-time.ts.d",
"/test/helpers/convert-time.js",
"index.ts"
]
}