使用Webpack Dev Server忽略文件

问题描述 投票:5回答:2

我正在使用Emacs编辑Webpack开发服务器监视的目录中的文件。每次我在文件中进行更改时,都会在同一目录中创建备份文件,例如.#original_filename,即使我没有在Emacs中保存更改。这会导致服务器的观察者注册更改,即使我没有创建更改。因此,每次我在文件中进行更改时服务器都会重新加载,然后在保存时再次重新加载。

这有点令人困惑和耗时。看着Webpack's documentation,我发现了以下选项:

对于某些系统,观看许多文件系统可能会导致大量CPU或内存使用。可以排除像node_modules这样的巨大文件夹:

ignored: /node_modules/ 

也可以使用任何匹配模式:

ignored: "files/**/*.js"

所以我修改了我的配置,如下所示,匹配并忽略以.开头的文件:

devServer: {
    ...
    watchOptions: {
        ignored: './src/app/**/.*',
    },
    ...
}

我重新启动了开发服务器,但是观察者仍然将备份文件注册为对代码库所做的更改。我究竟做错了什么?

webpack webpack-dev-server
2个回答
1
投票

我发现了一个尝试了几次后可以解决的解决方案。出于某种原因,当开头有./时,它不起作用,这应该只是当前目录。

将匹配模式更改为以下作品:

watchOptions: {
    ignored: '**/.*',
},

1
投票

正确的方法是使用节点的本机模块路径 你的webpack.config.js应该是这样的:

const path = require('path')

module.exports = {
  ...
  devServer: {
    watchOptions: {
      ignored: [
        path.resolve(__dirname, 'dist'),
        path.resolve(__dirname, 'node_modules')
      ]
    }
  },
  ...
}
© www.soinside.com 2019 - 2024. All rights reserved.