Как заставить Webpack 4 обнаруживать и перекомпилировать только файлы, которые были изменены - PullRequest
0 голосов
/ 13 декабря 2018

Каждый файл, который я добавляю в проект, замедляет компиляцию.

Перекомпиляция проекта после сохранения длится до 9 секунд.

Я использую модуль Webpect-dev-server вЧтобы перекомпилировать код.

Есть ли (и должен) быть способ сказать Webpack перекомпилировать только те изменения, которые были сделаны?Например, если я добавляю <p>Something small</p>, веб-пакет должен перекомпилировать только добавленный элемент.

// package.json 

"webpack": "^4.27.1"
"webpack-cli": "^3.1.2"
"webpack-dev-server": "^3.1.10"

// webpack.config.js

const path = require('path');

module.exports = {
  entry: './entry.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist')
  },
  plugins: [

  ],
  devServer: {
    contentBase: './dist'
  },
  devtool: 'inline-source-map',
  module: {
    rules: [
      {
        test: /\.(html)$/,
        use: {
          loader: 'html-loader',
          options: {
            attrs: [':data-src']
          }
        }
      },
      {
        test: /\.css$/,
        use: [
          'style-loader',
          'css-loader'
        ]
      }
    ]
  }
};

1 Ответ

0 голосов
/ 13 декабря 2018

Я по ошибке использовал интерполяцию строк, используя метод require.Это, вероятно, привело к тому, что Webpack неправильно нашел искомый файл для поиска.

Вот что я сделал:

let pre = `./app/services/`;
let something = require(`${pre}some-service`);

Этобыло исправлено:

let something = require('./app/services/some-service');

Результаты:

Вместо 10 тыс. мс компиляции всего 10 очень простых файлов - 300 мс на первом сервере разработкивремя выполнения и 150-200 мс времени компиляции для серьезных изменений и 30 мс только для незначительных изменений.

...