Я использую Webpack и машинопись для создания пакета, который может использоваться клиентами узлов и браузеров.Для моего пакета, скажем, MyPackage, я могу сгенерировать файлы "index.js" и "browser.js", где index.ts / index.js имеет код, связанный с окружением узла, а browser.ts / browser.js имеет связанный с браузером кодкод.Для этого я использую свойство browser.json для этого файла.
"browser":{
"out/index.js" : "out/browser.js"
}
Проблема в том, что я работаю в среде машинописи.Так что в клиенте узла я могу использовать библиотеку просто отлично.Это потому, что (я думаю), у index.ts есть необходимые определения типов.
import {MyNodeCode} from "MyPackage" (this works )
Но в клиенте браузера (угловое приложение) компиляция машинописи не выполняется, поскольку типы, которые я хочу импортировать, находятся в браузере.ц.Поэтому, когда я делаю
import {MyBrowserCode} from "MyPackage"
, угловой код явно не работает.
Я делаю здесь что-то в корне неправильно?Есть ли способ, которым я могу иметь различные определения типа для узла и среды браузера?Я некоторое время оглядывался, но, к сожалению, не смог найти подходящего ответа.Я сослался на https://nolanlawson.com/2017/01/09/how-to-write-a-javascript-package-for-both-node-and-the-browser/, но, похоже, это пример среды js.
Пожалуйста, дайте мне знать, если мне нужно объяснить это немного подробнее.