можно ли сделать чтобы в режиме isProduction не создавался devServer?

Рейтинг: 0Ответов: 1Опубликовано: 06.02.2023

У меня есть два режима, isProduction и isDevelopment, могу ли я поставить тернарный оператор на devServer, чтобы когда режим isProduction, dev сервер не создавался? или это бесмысленно и он и так не создаться?

module.exports = (env, { mode }) => {
  const isProduction = mode === 'production';
  const isDevelopment = mode === 'development';

    devServer: {
      port: 3000,
      // https: true,
      historyApiFallback: true, // для чего узнать?
      // proxy: {},
    },
  };
};

Ответы

▲ 1Принят

Доброго времени суток.

Для начала нужно определить правильный запуск в package.json. А именно добавить следующее

  "scripts": {
    "start": "webpack serve --open --env NODE_ENV=development",
    "build": "webpack --env NODE_ENV=production"
  },

После чего, вернуться в webpack.config.js и там прописать следующее

module.exports = (env) => {
  const production = env.NODE_ENV === 'production'

  return {
    mode: production ? 'production' : 'development',

    devServer: {
      static: {
        directory: path.join(__dirname, 'dist'),
      },
      port: 3000,
    },

    devtool: production ? false : 'source-map',
  }
}

Готово. Теперь при запуске npm start ваш проект будет запускаться в режиме dev, а при запуске через npm run build в режиме prod и не будет запускаться сервер