2016-09-19 5 views
1

У меня есть пакет npm, который является компонентом React, который я создал, и размещаю на своем частном сервере npm.UglifyJSPlugin в режиме производства показывает предупреждение режима разработки React

У меня есть веб-приложение React, которое загружает этот пакет и использует его на странице.

Как компонент, так и веб-приложение строятся с помощью webpack, используя UglifyJSPlugin.

При запуске Webpack с флагом производства, я получаю следующее предупреждение:

warning.js:36Warning: 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 [stack won't let me post urls..]fb.me/react-minification for more details. 

Когда я удалить UglifyJSPlugin из WebPack конфигурации веб-приложения и запустить WebPack с флагом производства, это предупреждение не появляется ,

Любые идеи о том, как удалить предупреждение при использовании UglifyJSPlugin в режиме производства?

ответ

-2

Вы должны использовать DefinePlugin и задавать окружение узла для производства.

+0

Довольно загадочный ответ. Было бы лучше, если бы вы показали, с кодом, что вы имеете в виду. – robertklep

+0

Трудно набрать ответ на телефоне. Вы можете увидеть его здесь: https://github.com/codaxy/cx-starter-kit/blob/master/config/webpack.prod.js – Marko

0

Как сказал Марко, используйте DefinePlugin следующим образом.

{ 
    entry: "src/main.js", 
    output: { 
     path: 'dist', 
     filename: "bundle.js" 
    }, plugins:[ 
    new webpack.DefinePlugin({ 
     'process.env':{ 
     'NODE_ENV': JSON.stringify('production') 
     } 
    }), 
    new webpack.optimize.UglifyJsPlugin({ 
     compress:{ 
     warnings: true 
     } 
    }) 
    ] 
} 
+0

, реализующий это сейчас. Есть ли способ основывать значение NODE_ENV на основе переменной окружения? –

+0

, поэтому я попытался реализовать это как в компоненте, так и в веб-приложении без каких-либо изменений в результатах. У меня также есть набор NODE_ENV для сборки на машине сборки. –

+0

Значения параметра process.env по умолчанию для переменных среды. С помощью DefinePlugin вы можете добавлять/перезаписывать их в коде. – Maurice