Webpack не будет запущен в производство. По умолчанию для разработки - PullRequest
0 голосов
/ 06 марта 2019

Я потерян.Я следовал учебному пособию по Udemy Webpack 4 для webpack, и я застрял на том, чтобы иметь разные конфиги для разных режимов.

Я могу просто собрать из своей производственной конфигурации, но когда дело доходит до запуска сервера узла, он не настроен на работу.

У меня есть main.js, напишите это:

console.log(`Environment is: ${process.env.NODE_ENV`}

, и я видел это только в шоу как Development.

Вот скрипт моего package.json для запуска производства: Я запускаю npm run build , а затем npm run prod

  "scripts": {
    "build:dev": "webpack --config=config/webpack.dev.js",
    "build": "webpack --config=config/webpack.prod.js",
    "dev": "nodemon --inspect --watch config --watch src/server 
     src/server/main.js",
    "prod": "cross-env NODE_ENV=production node src/server/main.js"
  },

Было упомянуто, что мне нужно было определить NODE_ENV в конфигурации prod-пакета webpack в разделе плагина,Вот как у меня это:

    new webpack.DefinePlugin({
        'process.env': {
            NODE_ENV:'"production"'
        }
    }),

Я пробовал это по-разному: 'process.env': {'NODE_ENV': JSON.Stringify ("production")} и несколько другихпути и мне не повезло.

Вот мой репозиторий, где можно увидеть мою полную конфигурацию: https://github.com/PepperAddict/webpack-express

Буду признателен за любую помощь, даже за рекомендацию о лучшем способе настройки.Заранее спасибо!

1 Ответ

1 голос
/ 08 мая 2019

Ниже мой конфиг с использованием веб-пакета 4

"prod": "webpack -p --mode=production --config webpack.prod.js",
"start": "webpack --mode=development --config webpack.dev.js",

И если вы хотите установить NODE_ENV, вы можете сделать это

"prod": "SET NODE_ENV=production& webpack -p --mode=production",

Надеюсь, что помощь

...