2016-11-16 47 views
3

每當我用vim打開文件時,webpack會檢測到更改並重新編譯代碼。 Vim創建類似.test.txt.swp的臨時文件,這使得webpack相信項目中已經發生了一些變化。禁用webpack的文件監視vim swp文件

禁用SWP文件創建幫助,但我想留在SWP文件的安全,而不是分心與瀏覽器重新加載頁面過於頻繁,也沒有不必要的代碼編譯。

如何使的WebPack知道它不應該的反應。*。SWP文件的變化?

編輯: 它實際上是的WebPack-dev的服務器,其反應檢測新VIM交換文件。只有在即將編譯的源文件中有特定條目時纔會執行此操作。例子是來自進口angular2,但它不但: import '@angular/core'; import '@angular/common';

+0

我認爲這是一些的WebPack-DEV-服務器的問題,但也許它只是在讀什麼進口的庫搜索。 https://github.com/webpack/webpack-dev-server/issues/719 –

回答

8

我什麼都不知道「的WebPack」,但你可以告訴Vim交換文件存儲在一個目錄中,而不是與'dir'設置當前目錄。我在vimrc里加入:

set dir=$HOME/.vim/tmp/swap 
if !isdirectory(&dir) | call mkdir(&dir, 'p', 0700) | endif 

這也將修復與其他工具,以及「晃來晃去交換文件」,在VCS系統交換文件等問題

如果你想忽略的Vim在工具(如webpack)中交換文件,然後記住只是忽略.swp是不夠的; Vim也可以創建擴展如.swo.swn等交換文件

+0

Noice!這使得Angular 4開發服務器每次在vim中按下一個按鈕時都會停止執行spazing。 – Hubro

3

您可以根據模式排除文件:

module: { 
    loaders: [ 
    { 
     // existing loader config 
     exclude: /\.swp$/, 
    }, 
    ] 
} 

你不應該捆綁在默認情況下的一切,雖然;使用加載程序測試僅捆綁.js文件(或任何您明確需要的; .jsx,.css等)。像這樣的事情,例如:

module: { 
    loaders: [ 
    { 
     test: /.jsx?$/, 
     loader: 'babel-loader', 
     exclude: [/node_modules/, 'test/', /\.swp$/], 
     query: { 
     presets: ['es2015', 'react'] 
     } 
    }, 
    { 
     test: /\.css$/, 
     loader: "style-loader!css-loader" 
    }, 
    ] 
} 
+0

因此,它以一種告訴webpack監視所有文件的方式進行配置。也許你可以看看現在編輯的問題,我包括配置的URL。 –

0

對我來說,答案是在的WebPack配置

<webpackConfObject>.devServer.watchOptions = { 
    ignored: /\.sw.$/ 
}; 

以下更改模塊的排除屬性不適用於觸發事件的文件守望者重新加載webpack dev服務器上的頁面,但你可以ignore匹配模式的文件。