使用Webpack Dev Server忽略文件

时间:2017-02-07 09:03:36

标签: webpack webpack-dev-server

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

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

  

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

ignored: /node_modules/ 
     

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

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

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

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

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

3 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

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

const path = require('path')

module.exports = {
  ...
  devServer: {
    watchOptions: {
      ignored: [
        path.resolve(__dirname, 'dist'),
        path.resolve(__dirname, 'node_modules')
      ]
    }
  },
  ...
}

答案 2 :(得分:0)

另一个选择是将Emacs配置为将其备份文件写入其他位置。无论如何,这通常是一件好事。

;; Write backup files to own directory ~/.emacs.d/backups
(setq (my-backup-directory (expand-file-name
                            (concat user-emacs-directory "backups"))))
(setq backup-directory-alist `(("." . ,backup-directory))