javascript - 如何强制 Webpack 4 仅检测和重新编译已更改的文件

标签 javascript node.js webpack compilation webpack-dev-server

我添加到项目中的每个文件都会使编译速度变慢。

保存后重新编译工程需要9秒。

我正在使用 Webpect-dev-server 模块来重新编译代码。

是否有(并且应该)有一种方法告诉 Webpack 重新编译那些已进行的更改?例如 - 如果我添加 <p>Something small</p> Webpack 只需要重新编译添加的元素。

// 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'
        ]
      }
    ]
  }
};

最佳答案

我错误地使用 require 方法进行字符串插值。这可能会导致强制 Webpack 不正确地查找所需文件。

这就是我所做的:

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

这是修复:

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

结果:

而不是花费 10k 毫秒编译 10 个非常简单的文件 - 第一个开发服务器运行时为 300 毫秒,重大更改需要 150-200 毫秒的编译时间,较小更改仅需要 30 毫秒。

关于javascript - 如何强制 Webpack 4 仅检测和重新编译已更改的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53762620/

相关文章:

javascript - amCharts 中的序列图显示不同的行为

MySQL 查询不会提取 Node.js 中的值

javascript - 如何从选项列表中获取一项

javascript - 我应该如何从 Node Js 中的 Url 中提取值

angular - 使用 Webpack 将 PrimeNG 添加到 Angular2 应用程序中

angular - 为组件 AppComponent 指定的模板不是字符串

javascript - webpack 可以在没有 require 或 import 的情况下打包 js 文件吗? Q2 : Why is a graph needed?

javascript - jQuery/基础 : Uncaught TypeError: Object #<Object> has no method 'hover'

javascript - 如何更改 js3-mode 的缩进样式?

javascript - 使用 Javascript 控制嵌入式 Imeem 和 Youtube 播放器