在node.js中,无法摆脱不良的符号链接

cc *_*ung 5 filesystems node.js

我有一个uglify创建文件lib-0.1.4-min.js然后将其符号链接到的函数lib-production-min.js0.1.4是当前版本。

由于此目录的同步,有时lib-production-min.js是断开的链接。

当我运行compile函数时,fs.existsSync( "lib-production-min.js" )返回false。当我稍后尝试创建符号链接时,会node出错file 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
Run Code Online (Sandbox Code Playgroud)
  1. 如何检查此死链接是否在目录中?

  2. 会正常fs.unlinkSync( "lib-production-min.js" )删除吗?

小智 6

fs.lstat()或者fs.lstatSync()可能对你有帮助。他们应该带来有关链接本身的信息,而不是跟随它。