Я пытаюсь использовать стороннюю библиотеку в проекте Typescript (в частности, три).В качестве подтверждения концепции я пытаюсь разрешить весь мой клиентский код в виде модулей (без переноса в ES5 или пакетирования).
мой проект настроен так:
cgi/app.js (compiled typescript file)
node_modules/@types
node_modules/three/build/three.module.js
src/app.ts
index.html
tsconfig.json
package.json
И в моем index.html
<head>
<script type="module" src="node_modules/three/build/three.module.js"></script>
<script type="module" src="cgi/app.js"></script>
</head>
я пытаюсь разрешить машинописи разрешить файл three.module.js
, одновременно используя объявления типов из @types/three
.Обычно вы импортируете библиотеку с: import { Scene } from 'three'
, что дает мне поддержку типов, но скомпилированный модуль не имеет правильного синтаксиса ES6.Это должно быть import { Scene } from './path/to/three.js
.
К сожалению, машинопись пока не поддерживает автоматическое выполнение .Вместо этого я могу импортировать модуль ES6 напрямую (без использования @types), но затем теряю поддержку типов.
Посткомпиляция после машинописного текста, возможно ли преобразовать разрешение модуля из синтаксиса узла в синтаксис ES6?(например, import { Scene } from 'three'
преобразуется в import { Scene } from './three.js'
?
В частности, возможно ли использовать накопительный пакет для достижения этой цели?