Предположим, у вас есть проект TypeScript с именем "shubidu", и вы используете Visual Code в качестве IDE. "Шубиду" хорошо быть библиотекой, а не приложением.
Также предположим, что в вашем проекте TypeScript есть два файла TypeScript: «core-stuff.ts» и «addon-stuff.ts».
// content of "core-stuff.ts"
export default function sayHello(name: string) {
console.log(`Hello, ${name}`)
}
-
// content of "addon-stuff.ts"
import sayHello from 'shubidu/core'
export default function helloWorld() {
sayHello('World')
}
Оба файла должны быть перенесены в ES5 в два разных модуля: "dist / shubidu-core.js" и "dist / shubidu-addon.js".
Позже эта библиотека "shubidu" будет использоваться другими проектами следующим образом:
import sayHello from 'shubidu/core'
import helloWorld from 'shubidu/addon'
[...]
При компиляции проекта "shubidu" в файле "" addon-stuff.ts "возникнет ошибка, поскольку модуль" shubidu / core "неизвестен.
Чтобы исправить это, вы должны изменить файл "tsconfig.json" следующим образом:
// content of tsconfig.json
{
[...]
"compilerOptions": {
[...]
"paths": {
"shubidu/core": "path/to/core-stuff.ts"
}
[...]
}
[...]
}
Компиляция работает сейчас. Открытая проблема заключается в том, что сама Visual IDE все еще говорит (в файле "addon-stuff.ts"), что модуль "shubidu / core" неизвестен.
Как это можно исправить ???