Как создать пакет NPM с файлами определений, где объявлены только интерфейсы в *.ts
файлах.
Предположим, у нас есть два интерфейса и одно определение класса:
export interface A {
id: number;
}
export interface B {
name: string;
}
export class C {
}
Мне нужно упаковать эти *.ts
файлы в пакет npm, как это сделать? Должен ли я экспортировать их в index.ts
?
Мой package.json
:
{
"name": "npm",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
Мой tsconfig.json
:
"compilerOptions": {
"target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */
"module": "commonjs",
"strict": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true
}
Внутри index.ts
там is:
import { A } from "./a";
import { B } from "./b";
import { C } from "./c";
Где './a', './b', './c'
- файлы с объявлениями интерфейсов и классов.
Когда я собираю его в файл index.js
с помощью команды: tsc index.ts
, тогда я не могу получить доступ к интерфейсам с использованием модуля index.js
в других проектах (npm установка)