Как выполнить функцию TS внутри файла JS? - PullRequest
0 голосов
/ 18 октября 2019

У меня есть файл машинописи file1.ts

export function Hello(str: string) {
    console.log(str);
}

У меня есть файл index.js

{
   require('./some.js'); 
}

и скрипт в package.json

"run": "node index.js"

Как запустить функцию из файла ts в index.js

Ответы [ 2 ]

2 голосов
/ 18 октября 2019

Если вы хотите импортировать файл ts или es в файл js, чтобы выполнить его с помощью узла, вы должны иметь возможность переносить импортированные файлы в javascript на лету. Для этого вы можете использовать плагин babel-register.

Вам нужно будет включить babel-register в index.js следующим образом:

require('babel-register')({
    plugins: [/* List of plugins */],
    cache: process.env.NODE_ENV !== 'development'
});

Если вы используете babel.rc, вы не сможетенужно включить плагины здесь. Вы можете использовать плагин @babel/preset-typescript для переноса ts в js.

Редактировать:

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

var Hello = require('file1.js')
0 голосов
/ 18 октября 2019

Динамический импорт позволяет скрипту загружать другие скрипты по мере необходимости:

<script type="module">
  import('hello.mjs').then(module => {
  module.hello('world');
});
</script>

См. Это

Включить файл JavaScript в другой файл JavaScript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...