Есть проект, он собирается на рабочем сервере (Debian) с помощью такого скритпа, прописанного в package.json: 'cross-env NODE_ENV=production webpack'. Вместе с этим, в конфиге Webpack используется такая конструкция:
new webpack.DefinePlugin({
NODE_ENV: JSON.stringify(process.env.NODE_ENV || 'production'),
}),
То есть, по идее, у нас определенно в момент сборки переменная NODE_ENV будет установлена в значение 'production'. Даже если у нас не сработает утилита cross-env, в конфиге Webpack мы обнаружим, что process.env.NODE_ENV не имеет никакого значения и установим NODE_ENV в 'production'. Однако, после того, как мы соберем таким образом проект и посмотрим при его открытии в консоль в браузере, мы увидим вот такой примерно лог:
Warning: It looks like you're using a minified copy of the development build of React. When deploying React apps to production, make sure to use the production build which skips development warnings and is faster. See https://fb.me/react-minification for more details.
You are currently using minified code outside of NODE_ENV === 'production'. This means that you are running a slower development build of Redux. You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify or DefinePlugin for webpack (stackoverflow.com/questions/30030031) to ensure you have the correct code for your production build.
Естественно, я сходил по ссылкам, и ничего нового там не обнаружил, переменная NODE_ENV в момент сборки у нас установлена практически наверняка так, как следует. В связи с этим вопрос - возможно, она должна быть установлена таковой не только в момент сборки? Или же какие-то еще вещи влияют на появление в логах данных сообщений?
Уточнения:
- Webpack версии 2.х, минификация происходит с помощью такой конструкции:
new UglifyJsPlugin({
exclude: /node_modules/,
sourceMap: true,
parallel: true,
uglifyOptions: {
ie8: true,
ecma: 6,
},
}),
То есть используется не встроенный в Webpack плагин, а установленный отдельной зависимостью "uglifyjs-webpack-plugin@1.1.6", так как со встроенным, версии 0.4.х (вроде так) были свои проблемы.
- Пробовал собирать проект на своей локальной среде с теми же настройками, она у меня Win 7, после чего закачивал ее на сервер - поведение аналогичное.