2012-12-19 84 views
0

我想爲javascript-mode添加功能,以便每當我在當前緩衝區中保存一個Javascript文件時,它會在相對路徑定義的目錄中創建一個縮小文件,例如../foo具有相同的文件名。我怎樣才能做到這一點?Javascript縮小保存

我使用Ubuntu作爲操作系統。有這樣一個好的程序,我應該在emacs中調用嗎?

+0

有許多第三方工具,觀看變化的文件,然後縮小/壓縮它們,你可能想這樣的工具,而不是試圖建立到編輯器這一點。 – meagar

回答

2

您可以在after-save-hook上添加一個函數,但是它只針對javascript模式,在js-mode-hook中添加鉤子。另外,將add-hook的第四個參數LOCAL設置爲非零值。例如:

(add-hook 'js-mode-hook 
      (lambda() 
      (add-hook 'after-save-hook 'my-minify-function nil t))) 

(defun my-minify-function() 
    (shell-command (format "minify %s ../foo/%s" 
         (buffer-file-name) 
         (buffer-file-name)))) 
+0

謝謝。我猜你的'minify'不是一個實際的命令名稱。你有沒有建議我應該用shell命令?我使用的是Ubuntu,並找到了yui-compressor。你認爲這很好嗎? – sawa

+1

對,只要用你想使用的任何東西代替即可。 YIU和JSMin似乎是最廣泛使用的JavaScript壓縮機。 Google的Closure編譯器也值得一看。 – ataylor