Size: a a a

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

2020 May 30

RK

Roman Kvasov in Webpack — русскоговорящее сообщество
Roman Usherenko
а можешь пример показать? я с тс не работал, но лоадеры писал
Легко, только пример чего? Кода ts?
источник

RU

Roman Usherenko in Webpack — русскоговорящее сообщество
Roman Kvasov
Легко, только пример чего? Кода ts?
нет, того что ты делаешь, куда тебе надо встроить loadModule
источник

RK

Roman Kvasov in Webpack — русскоговорящее сообщество
У ts-loader есть функция разрешения зависимости https://github.com/TypeStrong/ts-loader/blob/8b7c8ed72b3c3399bd59d351477144015397db0b/src/interfaces.ts#L239
источник

RK

Roman Kvasov in Webpack — русскоговорящее сообщество
Она синхронная те она должна вернуть строку и никаких вам обратных вызовов.
Первоначально моя идея была определить эту функция и вызвать в ней https://webpack.js.org/api/loaders/#thisloadmodule
Но он асинхронный и результат вернет в обратном вызове
источник

RK

Roman Kvasov in Webpack — русскоговорящее сообщество
Я посмотрел реализацию loadModule https://github.com/webpack/webpack/blob/84ceac8974e4260512a9d61c653f4530f5701f45/lib/dependencies/LoaderPlugin.js#L43
И там просто постановка задачи в очередь с приоритетом те то же вроде как не обойдешь
источник

RU

Roman Usherenko in Webpack — русскоговорящее сообщество
Roman Kvasov
Я посмотрел реализацию loadModule https://github.com/webpack/webpack/blob/84ceac8974e4260512a9d61c653f4530f5701f45/lib/dependencies/LoaderPlugin.js#L43
И там просто постановка задачи в очередь с приоритетом те то же вроде как не обойдешь
а что ты хочешь достичь, передав в лоадер функцию. я так понял, тебе надо чтоб при импорте определенных файлов что-то происходило?
источник

RK

Roman Kvasov in Webpack — русскоговорящее сообщество
Roman Usherenko
а что ты хочешь достичь, передав в лоадер функцию. я так понял, тебе надо чтоб при импорте определенных файлов что-то происходило?
Я хочу при импорте graphql файлов вызывать кодо-генератор который по декларациям graphql сгенерирует типы для typescript.
источник

RU

Roman Usherenko in Webpack — русскоговорящее сообщество
Roman Kvasov
Я хочу при импорте graphql файлов вызывать кодо-генератор который по декларациям graphql сгенерирует типы для typescript.
это можно просто сделать, добавив ещё один лоадер (свой, самописный), и сделав ему enforce: 'pre', чтоб он первый запускался, если это надо
источник

RK

Roman Kvasov in Webpack — русскоговорящее сообщество
Roman Usherenko
это можно просто сделать, добавив ещё один лоадер (свой, самописный), и сделав ему enforce: 'pre', чтоб он первый запускался, если это надо
Как узнать какие импорт в ts файле?
источник

RU

Roman Usherenko in Webpack — русскоговорящее сообщество
Roman Kvasov
Как узнать какие импорт в ts файле?
так лоадер на .graphql повесить
источник

RK

Roman Kvasov in Webpack — русскоговорящее сообщество
Roman Usherenko
так лоадер на .graphql повесить
ts-loader не использует webpack для разрешения зависимостей
источник

RU

Roman Usherenko in Webpack — русскоговорящее сообщество
Roman Kvasov
ts-loader не использует webpack для разрешения зависимостей
аа догнал
источник

RU

Roman Usherenko in Webpack — русскоговорящее сообщество
Roman Kvasov
ts-loader не использует webpack для разрешения зависимостей
то есть если ты в тс файле делаешь import - вебпак ничего не знает?
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Roman два момента
а) А не проще ли один раз сгенерить d.ts файл и рядом положить, обнвляя его в фоне?
б) Как то работал с лоадером sass который генерил типы для sass файлов, и не такие где просто - стиль импортит "какой-то" обьект, а прям по именам классов стилей
источник

RK

Roman Kvasov in Webpack — русскоговорящее сообщество
Roman Usherenko
то есть если ты в тс файле делаешь import - вебпак ничего не знает?
Верно ts-loader webpack не использует.
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
и самый главный вопрос - нафига тебе вообще ts-loader, его даже в офф доке тса рекомендуют как - не самое удачное решение
источник

A

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

RK

Roman Kvasov in Webpack — русскоговорящее сообщество
Alex CherryTea
Roman два момента
а) А не проще ли один раз сгенерить d.ts файл и рядом положить, обнвляя его в фоне?
б) Как то работал с лоадером sass который генерил типы для sass файлов, и не такие где просто - стиль импортит "какой-то" обьект, а прям по именам классов стилей
Может быть и проще но как?
источник

RK

Roman Kvasov in Webpack — русскоговорящее сообщество
Alex CherryTea
и самый главный вопрос - нафига тебе вообще ts-loader, его даже в офф доке тса рекомендуют как - не самое удачное решение
babel/typescript не проверяет типы это бутафория
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Roman Kvasov
babel/typescript не проверяет типы это бутафория
вот именно! и за счет этого в 30 раз быстрее
источник