#javascript #node.js #typescript #webpack #ts-loader
Вопрос:
У меня есть экспорт только для сервера, который я называю index.server.ts
. Я хочу, чтобы этот файл был переименован server.js
так, чтобы import foobar from "my-package/server
он указывал на этот файл.
Если я установлю выходное имя файла в Webpack, как это:
{
outuput: {
filename: "server.js"
}
}
Имя файла будет server.js
, но объявление типа останется index.server.d.ts
, поэтому импорт из других пакетов TypeScript завершается ошибкой, поскольку TypeScript не может найти нужный файл объявления.
Есть идеи, каково ожидаемое поведение/как обойти это?
Комментарии:
1. Есть возможность установить
types
в файлеpackage.json
с вашим файлом ввода вот так:{"types": "./index.server.d.ts"}
2. Да, я наконец-то понял это, также следует отметить, что следующая версия TypeScript (4.5) должна иметь правильную поддержку package.json «экспорт», что является лучшим способом достижения того, чего я хочу также поддерживает несколько точек входа.