Size: a a a

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

2021 June 14

Д

Данил in Webpack — русскоговорящее сообщество
Еще раз))

Есть либа в которой есть код if (proeccess.env.NODE_ENV === ‘production’) {

}

Я эту либу собираю ведбпаков и пушу в нпм

потом либу устанавливаю в свою апу и внутри этой апы proeccess.env.NODE_ENV - есть
proeccess.env.NODE_ENV внутри либы - undefined
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
в бандле либы который вы паблишите в нпм что вставлено вместо proeccess.env.NODE_ENV ? undefined?
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
if ('production' === undefined) ?
источник

Д

Данил in Webpack — русскоговорящее сообщество
да, так как либа не знает на момент сборки о proeccess.env.NODE_ENV
источник

A

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

A

Alex CherryTea in Webpack — русскоговорящее сообщество
это понятно. Идея в том чтобы не подменять переменную в момент сборки либы
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
чтобы у вас в бандле либы который отправляется в npm было
if ('production' === proeccess.env.NODE_ENV)
источник

A

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

A

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

Д

Данил in Webpack — русскоговорящее сообщество
Окей, и как вы это предлогаете сделать?
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
ну я бы начал с того что удалил definePlugin из либы и посмотрел останется ли proccess.env.NODE_ENV в ней после сборки
источник

Д

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

A

Alex CherryTea in Webpack — русскоговорящее сообщество
супер. А когда вы собираете эту либу вебпаком вашего приложения - что становится с этим кодом?
а все вижу это вы уже посомтрели
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
получается definePlugin заменил proccess.env.NODE_ENV в коде приложения но не заменил в коде либы, так?
источник

Д

Данил in Webpack — русскоговорящее сообщество
он становится частью приложения)
источник

Д

Данил in Webpack — русскоговорящее сообщество
похоже на это
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
это любопытно, было б больше времени поковырятся можно было бы сделать пул реквест с такой фичей.
Но короткий путь это известный путь - предлагаю отказатся от дефайн плагина и сделать тоже самое с помощью
https://github.com/wssgcg1213/babel-plugin-inline-replace-variables
источник

A

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

Д

Данил in Webpack — русскоговорящее сообщество
ниче что ласт апдетй 4 года назад?
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
ну там 2КБ кода, не должно сломатся. А если даже и сломается починить будет легко )
источник