Size: a a a

Webpack — русскоговорящее сообщество

2020 December 01

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Ace Lightning
А как ему тогда помочь найти эти модули?
Вот здесь подробно описано как вычисляется путь до конкретного файла когда тс обрабаывает import
https://www.typescriptlang.org/docs/handbook/module-resolution.html
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
источник

AL

Ace Lightning in Webpack — русскоговорящее сообщество
Alex CherryTea
ну для начала найдите где они на самом деле лежат
Нахожу только этот файл, больше нету
источник

AL

Ace Lightning in Webpack — русскоговорящее сообщество
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
можете открыть его и убедится что там нету никакой логики а только типы
источник

AL

Ace Lightning in Webpack — русскоговорящее сообщество
Да, там только типы
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
ищите откуда берется логика.
Вангую магия происходит где-то тут
VSS.require("TFS/Build/RestClient"
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
судя по тому что у него есть колбек, он за логикой куда-то в интернет гоняет, скачивает ее, и после этого TFS становится доступен
источник

AL

Ace Lightning in Webpack — русскоговорящее сообщество
Alex CherryTea
судя по тому что у него есть колбек, он за логикой куда-то в интернет гоняет, скачивает ее, и после этого TFS становится доступен
я тогда не понимаю почему пример работает нормально без всяких VSS.require
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Ace Lightning
я тогда не понимаю почему пример работает нормально без всяких VSS.require
видимо есть еще какие-то способы ее скачать, например через script тэг подключить в header
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
разбирайтесь, поставьте дебагеров, изучите какие сетевые запросы отправляются
источник

AK

Alex Koma in Webpack — русскоговорящее сообщество
Ребята, не подскажите как быть с таким кейсом: имеется какой-то obj1 который имеет методы obj1.methods.sum = func...
И эти методы храняться в file1.ts.  Затем есть file1_platformX.ts который переписывает данные методы obj1.methods.sum = func... (он подключается следующим файлом)
То есть при билде эти файлы добавляются в зависимости от платформы - методы перезаписываются. Как делать экспорт/импорт методов если редактор не знает какая платформа ?
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Alex Koma
Ребята, не подскажите как быть с таким кейсом: имеется какой-то obj1 который имеет методы obj1.methods.sum = func...
И эти методы храняться в file1.ts.  Затем есть file1_platformX.ts который переписывает данные методы obj1.methods.sum = func... (он подключается следующим файлом)
То есть при билде эти файлы добавляются в зависимости от платформы - методы перезаписываются. Как делать экспорт/импорт методов если редактор не знает какая платформа ?
Придерживаетесь хороших практик написания кода чтобы небыло таких проблем.
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
DI, наследование
источник

AK

Alex Koma in Webpack — русскоговорящее сообщество
Alex CherryTea
Придерживаетесь хороших практик написания кода чтобы небыло таких проблем.
Пытаюсь легаси-проект переписать на стандарт 2019+)
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Alex Koma
Пытаюсь легаси-проект переписать на стандарт 2019+)
Я правильно понимаю, какие методы будут объекта определяется в рантайме?
источник

AK

Alex Koma in Webpack — русскоговорящее сообщество
Верно
источник

AK

Alex Koma in Webpack — русскоговорящее сообщество
То есть в момент сборки там присылается флаг платформы и подключается файл за файлом
file1_base.ts
file1_base_platform_x.ts

То есть на данный момент там все зависит от порядка подключения файлов, от чего уж очень хочется уйти)
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Alex Koma
То есть в момент сборки там присылается флаг платформы и подключается файл за файлом
file1_base.ts
file1_base_platform_x.ts

То есть на данный момент там все зависит от порядка подключения файлов, от чего уж очень хочется уйти)
тайпскрипт к сожалению анализирует файлы статически, так что сам он вывести тип никак не сможет
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
но вы можете скастовать нужный тип руками, если знаете какой тип будет в итоге, или описать union в котором будут перечислены все возможные варианты.
Т.к. это все лежит за пределами темы вебпака, за подробностями предлагаю обратиться в чат тайпскрипта
источник