Size: a a a

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

2020 June 28

ЕБ

Евгений Баранников... in Webpack — русскоговорящее сообщество
ну да ладно, пока с костылём. Вот на картинке то что выше красной стрелки раньше стиралось, теперь всё на месте
источник

ТФ

Татьяна Фомина... in Webpack — русскоговорящее сообщество
Подскажите, в чем может быть проблема, хочу подключить https://www.npmjs.com/package/babel-plugin-react-remove-properties для удаления на проде из разметки data-attributes, которые использую для тестирования. в .bablerc добавила
{
 "env": {
   "production": {
     "plugins": [["react-remove-properties", { "properties": ["data-test"] }]]
   }
 },
 "presets": ["@babel/preset-env", "@babel/preset-react"]
}


все равно после билда атрибуты data-test в разметке остаются. что может быть не так?
источник

u

undefined in Webpack — русскоговорящее сообщество
Татьяна Фомина
Подскажите, в чем может быть проблема, хочу подключить https://www.npmjs.com/package/babel-plugin-react-remove-properties для удаления на проде из разметки data-attributes, которые использую для тестирования. в .bablerc добавила
{
 "env": {
   "production": {
     "plugins": [["react-remove-properties", { "properties": ["data-test"] }]]
   }
 },
 "presets": ["@babel/preset-env", "@babel/preset-react"]
}


все равно после билда атрибуты data-test в разметке остаются. что может быть не так?
а если переместить в plugins вне env, то работает?
источник

ТФ

Татьяна Фомина... in Webpack — русскоговорящее сообщество
undefined
а если переместить в plugins вне env, то работает?
вот так переместить?
{
 "plugins": [["react-remove-properties", { "properties": ["data-test"] }]],
 "presets": ["@babel/preset-env", "@babel/preset-react"]
}
источник

u

undefined in Webpack — русскоговорящее сообщество
Татьяна Фомина
вот так переместить?
{
 "plugins": [["react-remove-properties", { "properties": ["data-test"] }]],
 "presets": ["@babel/preset-env", "@babel/preset-react"]
}
ага
источник

ТФ

Татьяна Фомина... in Webpack — русскоговорящее сообщество
undefined
ага
да, так работает. BABEL_ENV получается не работает?
источник

u

undefined in Webpack — русскоговорящее сообщество
Татьяна Фомина
да, так работает. BABEL_ENV получается не работает?
значение в env получается из process.env.BABEL_ENV || process.env.NODE_ENV || "development"
источник

ТФ

Татьяна Фомина... in Webpack — русскоговорящее сообщество
undefined
значение в env получается из process.env.BABEL_ENV || process.env.NODE_ENV || "development"
const merge = require("webpack-merge");
const common = require("./webpack.common.js");

module.exports = merge(common, {
 mode: "production",
 devtool: "source-map",
});

это конфиг вебпака для билда, process.env.NODE_ENV точно production, я её в билде выводила
источник

u

undefined in Webpack — русскоговорящее сообщество
Татьяна Фомина
const merge = require("webpack-merge");
const common = require("./webpack.common.js");

module.exports = merge(common, {
 mode: "production",
 devtool: "source-map",
});

это конфиг вебпака для билда, process.env.NODE_ENV точно production, я её в билде выводила
проблема может быть в том, что для вебпака переменная видна, а для бабеля нет. Попробуйте явно указать при запуске скрипта BABEL_ENV=production npm run ...
источник

u

undefined in Webpack — русскоговорящее сообщество
undefined
проблема может быть в том, что для вебпака переменная видна, а для бабеля нет. Попробуйте явно указать при запуске скрипта BABEL_ENV=production npm run ...
ну или если винда, то там что-то типо set BEBEL_ENV=production&&npm run ...
источник

ТФ

Татьяна Фомина... in Webpack — русскоговорящее сообщество
undefined
ну или если винда, то там что-то типо set BEBEL_ENV=production&&npm run ...
"build": "SET BABEL_ENV=production && webpack --config webpack.prod.js"'
источник

ТФ

Татьяна Фомина... in Webpack — русскоговорящее сообщество
вот так пробовала, не работает
источник

u

undefined in Webpack — русскоговорящее сообщество
Татьяна Фомина
"build": "SET BABEL_ENV=production && webpack --config webpack.prod.js"'
у windows проблема в том, что после слова production пробел влазит
источник

u

undefined in Webpack — русскоговорящее сообщество
между production и && не ставьте пробел
источник

ТФ

Татьяна Фомина... in Webpack — русскоговорящее сообщество
undefined
у windows проблема в том, что после слова production пробел влазит
да, вот так заработало
 "build": "SET BABEL_ENV=production&&webpack --config webpack.prod.js"

про пробелы сама никогда бы не подумала. спасибо!
источник

u

undefined in Webpack — русскоговорящее сообщество
Татьяна Фомина
да, вот так заработало
 "build": "SET BABEL_ENV=production&&webpack --config webpack.prod.js"

про пробелы сама никогда бы не подумала. спасибо!
если что есть пакет https://www.npmjs.com/package/cross-env который устраняет разницу между windows и linux и использует единый способ объявления переменных.
Используется, когда в проекте участвуют разные ОС в разработке
источник

ТФ

Татьяна Фомина... in Webpack — русскоговорящее сообщество
undefined
если что есть пакет https://www.npmjs.com/package/cross-env который устраняет разницу между windows и linux и использует единый способ объявления переменных.
Используется, когда в проекте участвуют разные ОС в разработке
спасибо,  посмтрю что за пакет. а получается другого способа установить BАBEL_ENV кроме как в самом скрипте нет?
источник

u

undefined in Webpack — русскоговорящее сообщество
Татьяна Фомина
спасибо,  посмтрю что за пакет. а получается другого способа установить BАBEL_ENV кроме как в самом скрипте нет?
попробуйте внутри конфига присвоить process.env.NODE_ENV = 'production'. Он вроде не только на чтение. Хотя не уверен, что так можно)
источник

ТФ

Татьяна Фомина... in Webpack — русскоговорящее сообщество
undefined
попробуйте внутри конфига присвоить process.env.NODE_ENV = 'production'. Он вроде не только на чтение. Хотя не уверен, что так можно)
да, можно
источник

MK

Mikhail Kamakhin in Webpack — русскоговорящее сообщество
Татьяна Фомина
да, можно
Вот ещё как делают
"scripts": { "dev": "cross-env NODE_ENV=development webpack --mode development", "build": "cross-env NODE_ENV=production webpack --mode production", "watch": "cross-env NODE_ENV=development webpack --mode development --watch", "start": "cross-env NODE_ENV=development webpack-dev-server --mode development --open", "stats": "webpack --json > stats.json && webpack-bundle-analyzer stats.json" }
источник