Size: a a a

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

2020 June 28

ТФ

Татьяна Фомина... in Webpack — русскоговорящее сообщество
Mikhail Kamakhin
Вот ещё как делают
"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" }
да, так уже и сделала
источник
2020 June 29

В

Вадим in Webpack — русскоговорящее сообщество
всем привет!

столкнулся с проблемой
в конфиге определяю глобальную переменную

new webpack.DefinePlugin({
  __PROD__: JSON.stringify(true),
}),


и есть код типа:

if (!__PROD__) {
      const myObject = require('my-package');
      ....
}

в полной ```увереннности, что данный кусок будет вырезан из кода оптимизатором и в сборку не попадет пакет my-package, но на практике оказывается, что пакет включается при сборке, а код в результирующем файле вырезается

если вместо !__PROD__ написать false - пакет не попадает в финальную сборку
такое впечатление что webpack.DefinePlugin срабатывает после того как вебпак начал анализировать зависимости

как побороть?
источник

A

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

столкнулся с проблемой
в конфиге определяю глобальную переменную

new webpack.DefinePlugin({
  __PROD__: JSON.stringify(true),
}),


и есть код типа:

if (!__PROD__) {
      const myObject = require('my-package');
      ....
}

в полной ```увереннности, что данный кусок будет вырезан из кода оптимизатором и в сборку не попадет пакет my-package, но на практике оказывается, что пакет включается при сборке, а код в результирующем файле вырезается

если вместо !__PROD__ написать false - пакет не попадает в финальную сборку
такое впечатление что webpack.DefinePlugin срабатывает после того как вебпак начал анализировать зависимости

как побороть?
JSON.stringify(true) ?
источник

В

Вадим in Webpack — русскоговорящее сообщество
Alex CherryTea
JSON.stringify(true) ?
не важно - даже просто true
это я уже взял из описания плагина в надежде что поможет
https://webpack.js.org/plugins/define-plugin/#usage
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
попбороть просто
if (process.env.NODE_ENV !== "production" ) {
      const myObject = require('my-package');
      ....
}
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
что то я там не вижу JSON.stringify(true)
источник

В

Вадим in Webpack — русскоговорящее сообщество
Alex CherryTea
что то я там не вижу JSON.stringify(true)
на самом видном месте
new webpack.DefinePlugin({
 PRODUCTION: JSON.stringify(true),
 VERSION: JSON.stringify('5fa3b9'),
 BROWSER_SUPPORTS_HTML5: true,
 TWO: '1+1',
 'typeof window': JSON.stringify('object'),
 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV)
});
источник

В

Вадим in Webpack — русскоговорящее сообщество
Alex CherryTea
попбороть просто
if (process.env.NODE_ENV !== "production" ) {
      const myObject = require('my-package');
      ....
}
так код вообще никогда не удаляется
источник

A

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

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Вадим
на самом видном месте
new webpack.DefinePlugin({
 PRODUCTION: JSON.stringify(true),
 VERSION: JSON.stringify('5fa3b9'),
 BROWSER_SUPPORTS_HTML5: true,
 TWO: '1+1',
 'typeof window': JSON.stringify('object'),
 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV)
});
действительно, какая чушь
источник

В

Вадим in Webpack — русскоговорящее сообщество
Alex CherryTea
хм, у меня удалется
он не может удалиться из кода - там обычная конструкция зависящая от process.env.NODE_ENV а она в течении работы кода может менятся поэтому для оптимизатора это не повод вырезать этот код - он останется в коде
источник

В

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

if (false) {....}


там где услови представлено константой
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
да я в вкурсе как это работает, это называется недостижимый код
источник
2020 June 30

BA

Bogdan Aleksandrovic... in Webpack — русскоговорящее сообщество
всем привет, можете подсказать уроки на текущую версию вебпака?
источник

Д

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

NR

Nikolai Reguliarniy in Webpack — русскоговорящее сообщество
Bogdan Aleksandrovich
всем привет, можете подсказать уроки на текущую версию вебпака?
а чем документация не устраивает?
источник

🦜

🦜 in Webpack — русскоговорящее сообщество
Nikolai Reguliarniy
а чем документация не устраивает?
это читать надо
источник

🦜

🦜 in Webpack — русскоговорящее сообщество
зумеры не могут в текст...
источник

Д

Данил in Webpack — русскоговорящее сообщество
Nikolai Reguliarniy
а чем документация не устраивает?
дока по вебпаку вообще-то ппц не оч
источник

BA

Bogdan Aleksandrovic... in Webpack — русскоговорящее сообщество
Nikolai Reguliarniy
а чем документация не устраивает?
в каждом чате найдутся такие люди
источник