2013-01-07 49 views
2

我有一個uglify函數,它創建一個文件lib-0.1.4-min.js,然後符號鏈接到lib-production-min.js0.1.4是當前版本。in node.js,不能擺脫糟糕的符號鏈接

由於此目錄同步,有時lib-production-min.js是一個斷開的鏈接。

當我運行編譯功能時,fs.existsSync("lib-production-min.js")返回false。當我嘗試稍後創建符號鏈接時,nodefile already exists錯誤。

var version = 'lib-0.1.4-min.j'; 
var prod = 'lib-production-min.js'; 

// if production exists, get rid of it 
if(fs.existsSync(prod)) fs.unlinkSync(prod); // not exists - not deleted 

// link version to production 
fs.symlinkSync(version, prod);     // ERROR: file already exists 
  1. 我如何檢查,如果這Deadlink中是在目錄中?

  2. 會正常fs.unlinkSync("lib-production-min.js")刪除它嗎?

回答

2

fs.lstat()fs.lstatSync()可能對您有幫助。他們應該帶來有關鏈接本身的信息,而不是遵循它。

0

使用fs.readlinkSync(symlinkPath)得到由符號鏈接指向的文件,然後使用fs.existsSync與路徑。

問題是鏈接文件存在,鏈接的目的地是缺少的。