Подтвердить что ты не робот

Как запустить TypeScript файлы из командной строки?

У меня на удивление трудно найти ответ на этот вопрос. С помощью обычного Node.JS вы можете запускать любой js файл с помощью node path/to/file.js, с CoffeeScript it coffee hello.coffee и ES6 имеет babel-node hello.js. Как мне сделать то же самое с Typescript?

В моем проекте есть tsconfig.json, который используется Webpack/ts-loader для создания небольшого пакета для браузера. У меня есть потребность в выполнении шага сборки с консоли до этого, хотя, чтобы использовать некоторые из файлов .ts, используемых в проекте, для создания схемы, но я не могу показаться, что могу запустить один Typescript файл без компиляции всего проекта.

4b9b3361

Ответ 1

Как сделать то же самое с Typescript

Вы можете оставить tsc запущенным в режиме просмотра с помощью tsc -w -p ., и он будет генерировать файлы .js для вас живым способом, поэтому вы можете запустить node foo.js как обычный

TS Node

Существует ts- node: https://github.com/TypeStrong/ts-node, который сделает все это для вас 🌹

Ответ 2

У нас есть следующие шаги

  1. Сначала вам нужно установить машинопись

    npm install -g машинопись

2.Создайте один файл helloword.ts

function hello(person){
 return "Hello, " + person;
}
let user = "Aamod Tiwari";
const result = hello(user);
console.log("Result",result)

3. Откройте командную строку и введите следующую команду

tsc helloward.ts

  1. Снова запустите команду

узел helloward.js

  1. Результат отобразится на консоли

Ответ 3

Чтобы добавить к ответу @Aamod выше, если вы хотите использовать одну командную строку для компиляции и запуска вашего кода, вы можете использовать следующее:

Окна:

tsc main.ts | node main.js

Linux/macOS:

tsc main.ts && node main.js

Ответ 4

Просто полезная информация - вот новейшая среда исполнения TypeScript/JavaScript Deno.

Он был создан создателем узла Райаном Далем, основываясь на том, что он сделал бы иначе, если бы мог начать все сначала.

Ответ 5

Ниже приведены некоторые шаги для выполнения файла машинописного текста из командной строки.

1) Node.js следует установить, если нет, то это необходимо для его установки.

2) Инсталлятор должен быть установлен, если он не установлен.

3) Скомпилируйте файл сценария типа в командной строке

D: \> tsc demo.ts

4) Запустите скомпилированный файл demo.js в командной строке

5) D: \> узел demo.js

Ответ 6

Напишите себе простую оболочку bash, может помочь.

#!/bin/bash
npx tsc $1 && node ${1%%.ts}

Ответ 7

На всякий случай, кто-то сумасшедший, как я, и хочет просто запустить скрипт сценария, как если бы это был сценарий.js, вы можете попробовать это. Я написал хакерский скрипт, который, как представляется, выполняет скрипт.ts с использованием узла.

#!/usr/bin/env bash

NODEPATH="$HOME/.nvm/versions/node/v8.11.3/bin" # set path to your node/tsc

export TSC="$NODEPATH/tsc"
export NODE="$NODEPATH/node"

TSCFILE=$1 # only parameter is the name of the ts file you created.

function show_usage() {
    echo "ts2node [ts file]"
    exit 0
}

if [ "$TSCFILE" == "" ]
then
    show_usage;
fi

JSFILE="$(echo $TSCFILE|cut -d"." -f 1).js"

$TSC $TSCFILE && $NODE $JSFILE

Вы можете сделать это или написать свой собственный, но по существу, он создает.js файл, а затем использует узел для его запуска следующим образом:

# tsrun myscript.ts

Просто. Просто убедитесь, что ваш скрипт имеет только один ". иначе вам нужно будет изменить JSFILE по-другому, чем то, что я показал.

Ответ 8

Вы можете легко сделать это из командной строки узла. Прежде всего, создайте файл Greeter.ts, как показано ниже.

class Greeter {
  greeting : string;
  constructor(message : string) {
    this.greeting = message;
  }

  greet() {
    return "Hello, " + this.greeting;
  }
}

let greeter = new Greeter("world");
console.log(greeter.greet());

Теперь скомпилируйте вышеуказанный файл командой tsc Greeter.ts которая создаст файл Greeter.js в том же каталоге.

Теперь вы можете запустить командный node Greeter.js который выведет Hello, world

Ответ 9

Этот вопрос был опубликован в 2015 году. В 2018 году узел распознает как .js, так и .ts. Таким образом, будет запущен и запущенный node file.ts