我正在使用Emacs编辑Webpack开发服务器监视的目录中的文件。每次我在文件中进行更改时,即使我没有在Emacs中保存更改,也会在同一目录中创建备份文件,如.#original_filename
。这会导致服务器的观察者注册更改,即使我没有创建更改。因此,每次我在文件中进行更改时服务器都会重新加载,然后在保存时再次重新加载。
这有点令人困惑和耗时。看Webpack's documentation,我发现了以下选项:
对于某些系统,观看许多文件系统可能会导致很多问题 CPU或内存使用情况。可以排除像这样的巨大文件夹 node_modules:
ignored: /node_modules/
也可以使用任何匹配模式:
ignored: "files/**/*.js"
所以我修改了我的配置,如下所示,匹配并忽略以.
开头的文件:
devServer: {
...
watchOptions: {
ignored: './src/app/**/.*',
},
...
}
我重启了dev服务器,但是观察者仍然将备份文件注册为对代码库所做的更改。我做错了什么?
答案 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))