Size: a a a

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

2020 October 09

y

ymdev in Webpack — русскоговорящее сообщество
Олег
а подскажите как сделать чтобы было 3 ENV. прод, дев и тест? вебпак поддерживает только прод и дев. если делать none то он перезаписывает ENV=test в package.json
Как вариант

командная строка
WEBPACK_ENV=three webpack

конфиг webpack
const WEBPACK_ENV = process.env.WEBPACK_ENV || 'development'
const devConfig = {}
const prodConfig = {}
const threeConfig = {}

if (WEBPACK_ENV === 'production') {
   module.exports = prodConfig
} else if (WEBPACK_ENV === 'development') {
   module.exports = devConfig
} else if (WEBPACK_ENV === 'three') {
   module.exports = threeConfig
}
источник

О

Олег in Webpack — русскоговорящее сообщество
ymdev
Как вариант

командная строка
WEBPACK_ENV=three webpack

конфиг webpack
const WEBPACK_ENV = process.env.WEBPACK_ENV || 'development'
const devConfig = {}
const prodConfig = {}
const threeConfig = {}

if (WEBPACK_ENV === 'production') {
   module.exports = prodConfig
} else if (WEBPACK_ENV === 'development') {
   module.exports = devConfig
} else if (WEBPACK_ENV === 'three') {
   module.exports = threeConfig
}
т.е. я могу прост в package json скрипте сделать ENV=test?
источник

y

ymdev in Webpack — русскоговорящее сообщество
Олег
т.е. я могу прост в package json скрипте сделать ENV=test?
да, любую переменную в любое значение. А потом в process.env.Имя отловить ее
источник

О

Олег in Webpack — русскоговорящее сообщество
ymdev
Как вариант

командная строка
WEBPACK_ENV=three webpack

конфиг webpack
const WEBPACK_ENV = process.env.WEBPACK_ENV || 'development'
const devConfig = {}
const prodConfig = {}
const threeConfig = {}

if (WEBPACK_ENV === 'production') {
   module.exports = prodConfig
} else if (WEBPACK_ENV === 'development') {
   module.exports = devConfig
} else if (WEBPACK_ENV === 'three') {
   module.exports = threeConfig
}
мне прост нужно это чтобы менять урлы для разных стадий (дев, тест и прод)
источник

y

ymdev in Webpack — русскоговорящее сообщество
покажи шаблон, который HTMLWebpackPlugin использует
источник

SE

Stanislav Entaltsev in Webpack — русскоговорящее сообщество
ymdev
покажи шаблон, который HTMLWebpackPlugin использует
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>Document</title>
</head>
<body>
 <div id="app"></div>
</body>
</html>
источник

y

ymdev in Webpack — русскоговорящее сообщество
Stanislav Entaltsev
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>Document</title>
</head>
<body>
 <div id="app"></div>
</body>
</html>
Ну тогда остается само приложение. Я даже не могу ситуацию назвать, когда такое могло произойти
источник

О

Олег in Webpack — русскоговорящее сообщество
ymdev
Как вариант

командная строка
WEBPACK_ENV=three webpack

конфиг webpack
const WEBPACK_ENV = process.env.WEBPACK_ENV || 'development'
const devConfig = {}
const prodConfig = {}
const threeConfig = {}

if (WEBPACK_ENV === 'production') {
   module.exports = prodConfig
} else if (WEBPACK_ENV === 'development') {
   module.exports = devConfig
} else if (WEBPACK_ENV === 'three') {
   module.exports = threeConfig
}
а ты уверен что URL=development так можно писать в скриптах package.json? process.env.URL дает undefined
источник

y

ymdev in Webpack — русскоговорящее сообщество
Олег
а ты уверен что URL=development так можно писать в скриптах package.json? process.env.URL дает undefined
конечно. А кто запретит? Главное, чтобы с другими глобальными переменными не конфликтовало.
источник

y

ymdev in Webpack — русскоговорящее сообщество
А у тебя не windows?
источник

О

Олег in Webpack — русскоговорящее сообщество
ymdev
А у тебя не windows?
lin
источник

y

ymdev in Webpack — русскоговорящее сообщество
$ URL=hapuga node test.js
hapuga


test.js
console.log(process.env.URL)
источник

О

Олег in Webpack — русскоговорящее сообщество
ymdev
$ URL=hapuga node test.js
hapuga


test.js
console.log(process.env.URL)
это в package json?
источник

y

ymdev in Webpack — русскоговорящее сообщество
Олег
это в package json?
да хоть в package.json
...
scripts: {
   "command": "URL=development webpack"
}
...

запуск
npm run command

Хоть просто в командой строке
источник

О

Олег in Webpack — русскоговорящее сообщество
ymdev
да хоть в package.json
...
scripts: {
   "command": "URL=development webpack"
}
...

запуск
npm run command

Хоть просто в командой строке
ох undefined (
источник

О

Олег in Webpack — русскоговорящее сообщество
пойду гуглить)
источник

О

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

О

Олег in Webpack — русскоговорящее сообщество
предлагают такой варик. ток в моем случае вебпак все равно перезаписывает env и не дает задать test
источник

KS

Konstantin Sedykh in Webpack — русскоговорящее сообщество
Олег
а подскажите как сделать чтобы было 3 ENV. прод, дев и тест? вебпак поддерживает только прод и дев. если делать none то он перезаписывает ENV=test в package.json
я бы вот это посоветовал для подобного. оч мощная вещь
https://www.npmjs.com/package/config
источник

О

Олег in Webpack — русскоговорящее сообщество
Konstantin Sedykh
я бы вот это посоветовал для подобного. оч мощная вещь
https://www.npmjs.com/package/config
так смысл если я попросту не могу прокинуть переменнуб
источник