Как я могу запустить скрипт Typescript на узле, ничего не импортируя из него?

#node.js #typescript #node-modules

#node.js #typescript #узел-модули

Вопрос:

В руководстве по Typescript упоминаются скрипты, а не модули:

И наоборот, файл без каких-либо объявлений импорта или экспорта верхнего уровня обрабатывается как скрипт, содержимое которого доступно в глобальной области видимости (и, следовательно, также для модулей).

У меня есть пара сценариев, которые ничего не импортируют, просто итеративно выполняют некоторую работу, например:

 // script.ts

console.log('test')
 

Я хочу запускать их все один за другим из index.ts (который определен как main в package.json). Однако, когда я просто импортирую их:

 // index.ts

console.log(1)
import {} from './script'
console.log(2)
 

Он ничего не делает в скомпилированном JS:

 // index.js (compiled)

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
console.log(1);
// << shouldn't there be something here?
console.log(2);
//# sourceMappingURL=index.js.map
 

Как я могу правильно вызвать этот скрипт, чтобы он запускал корневое содержимое при запуске моего скомпилированного index.js ?

Комментарии:

1. Импортируйте так: import './script'

2. @chautelly это решило мою проблему, спасибо! Хотите отправить его в качестве ответа, чтобы я мог его принять?

Ответ №1:

Скрипты импортируются следующим образом:

 import './script'
 

без использования from