Конфиг на одну или несколько записей - PullRequest
0 голосов
/ 09 мая 2019

Я хочу применить оптимизацию для некоторых записей, а не для всех.

Есть ли способ сделать это?

Например:

const webpack = require('webpack');
const CopyPlugin = require('copy-webpack-plugin');
const CleanWebpackPlugin = require('clean-webpack-plugin');

module.exports = {
  entry: {
    app: './src/client.js',
    server: './src/server.js',
  },
  output: {
    path: __dirname + '/dist',
    chunkFilename: '[name].chunk.js'
  },
  module: {
    rules: [
      {
        test: /\.(js|jsx)$/,
        exclude: /node_modules/,
        use: ['babel-loader']
      },
      {
        test: /\.css$/,
        loader:['style-loader', 'css-loader']
      },
      {
        test: /\.(gif|png|jpe?g|svg)$/i,
        use: [
          'file-loader',
          {
            loader: 'image-webpack-loader',
          },
        ],
      },
    ]
  },
  resolve: {
    extensions: ['*', '.js', '.jsx']
  },
  plugins: [
    new webpack.ProgressPlugin(),
    new CleanWebpackPlugin(),
    new CopyPlugin([
      { from: 'public/index.html' },
    ])
  ],
  devtool: 'inline-source-map',
  optimization: {
    splitChunks: {
      chunks: 'all',
    },
    runtimeChunk: {
      name: entrypoint => `runtime_${entrypoint.name}`,
    },
  },
  devServer: {
    publicPath: '/dist',
    contentBase: __dirname + '/dist',
    hot: true,
  }
};

Я хочуприменять оптимизацию только к записи клиента (приложения), но не к серверу.

Я могу дублировать экспорт, создавая один для моего клиентского приложения и один для моего сервера, но я буду дублировать все модули, правила, плагины и другие.конфигурации, которые будут развиваться!очень плохая масштабируемость.

Я что-то ищу, но ничего не нашел ... Не знаю, как и где, я думал, что смогу сделать это с

only : 'app',

, но я не могу найти этоОпять же, может быть, это было в моих снах xD

Кстати, если вы думаете, что я могу обновить мой webpack.config, если у вас есть какие-либо предложения, не стесняйтесь поделиться!

Спасибо всем!

1 Ответ

0 голосов
/ 10 мая 2019

Так как вы работаете над изоморфной установкой здесь (как это выглядит).Вы хотели бы использовать две отдельные конфигурации веб-пакетов.

Существуют некоторые свойства, такие как target , которые можно установить только на одно значение и применить ко всему набору записей и компиляции.

К счастью, веб-пакет позволяет вам возвращать массив объектов конфигурации!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...