이에 대한 답을 찾는 데 놀랍게도 어려움을 겪고 있습니다. 일반 Node.JS를 사용하면 node path/to/file.js
CoffeeScript coffee hello.coffee
와 ES6 의 모든 js 파일을 실행할 수 있습니다 babel-node hello.js
. Typescript와 동일한 작업을 수행하려면 어떻게합니까?
내 프로젝트에는 tsconfig.json
Webpack / ts-loader에서 브라우저를위한 멋진 작은 번들을 만드는 데 사용되는 파일이 있습니다. 그러나 콘솔에서 빌드 단계를 실행해야 .ts
프로젝트가 스키마를 생성하는 데 사용되는 일부 파일을 사용할 수 있지만 컴파일하지 않고 단일 Typescript 파일을 실행할 수없는 것 같습니다. 전체 프로젝트.
답변
Typescript로 동일한 작업을 수행하는 방법
를 tsc
사용하여 시계 모드에서 계속 실행 하면 라이브 방식으로 파일을 tsc -w -p .
생성 .js
하므로 node foo.js
평상시처럼 실행할 수 있습니다.
TS 노드
ts-node가 있습니다 : https://github.com/TypeStrong/ts-node 즉시 코드를 컴파일하고 노드를 통해 실행합니다.
npx ts-node src/foo.ts
답변
다음 단계가 있습니다
-
먼저 typescript를 설치해야합니다
npm install -g typescript
하나의 파일 helloworld.ts를 만듭니다.
function hello(person){
return "Hello, " + person;
}
let user = "Aamod Tiwari";
const result = hello(user);
console.log("Result",result)
3. 명령 프롬프트를 열고 다음 명령을 입력하십시오
tsc helloworld.ts
- 다시 명령을 실행
노드 helloworld.js
- 콘솔에 결과가 표시됩니다
답변
위의 @Aamod 답변에 추가하려면 하나의 명령 줄을 사용하여 코드를 컴파일하고 실행하려면 다음을 사용할 수 있습니다.
윈도우 :
tsc main.ts | node main.js
리눅스 / macOS :
tsc main.ts && node main.js
답변
아래 명령을 실행하고 필요한 패키지를 전체적으로 설치하십시오.
npm install -g ts-node
npm install -g typescript
다음 명령을 실행하여 타이프 스크립트 파일을 실행하십시오.
ts-node typescript-file.ts
답변
답변
간단한 bash 래퍼가 도움이 될 수 있다고 생각하십시오.
#!/bin/bash
npx tsc $1 && node ${1%%.ts}
답변
다른 답변은 모듈, 특히 최신 ES 모듈을 사용하는 TypeScript 스크립트를 실행하는 방법에 대해 설명하지 않습니다.
첫째는, TS-노드가 작동하지 않습니다 위해 우리가 해결합니다 그래서 월 2020 년 기준으로, 그 시나리오에서 tsc
다음 node
.
둘째, TypeScript는 여전히 .mjs
파일을 출력 할 수 없습니다 . .js
파일과 "type": "module"
에 대해 해결하겠습니다 package.json
.
셋째, 확장명 import
을 지정하지 않고 깨끗한 줄 을 원합니다 .js
( .ts
파일 에서 혼동 될 수 있음 ).
import { Lib } from './Lib';
글쎄, 그건 사소한 일이 아닙니다. 플래그 를 사용하지 않는 한 노드 는 가져 오기에 확장자를 지정 해야합니다experimental-specifier-resolution=node
. 이 경우 노드 는 라인 에서만 지정 Lib.js
하거나 검색 Lib/index.js
할 수 있습니다 ../Lib
import
넷째, 여전히 걸림돌 이 있습니다. 패키지와 다른 main
파일 이름을 사용 index.js
하면 노드가 찾지 못합니다. .
Transpiling은 바닐라 노드를 실행하는 것보다 훨씬 더 지저분합니다.
다음은 ES 모듈 코드를 생성 하는 최신 TypeScript 프로젝트 구조의 샘플 저장소입니다 .