fs-extra 中的 ensureSymlink() 函数 - NodeJS

异步简介 ensureSymlink()

此方法将确保符号链接是否存在。如果它不存在,它将创建目录结构。

语法

createSymlink(srcPath, destPah[, type] [, callback])

参数

  • srcPath – 文件的源路径。

  • destPath – 文件的目标路径。

  • type – 此参数仅在 Windows 上可用,并且在platforms.The此参数的其他可能值是 dir、file 或junction 时被忽略。

  • callback - 如果发生任何错误,此函数将提供回调。

例子

  • 在继续之前检查 fs-extra 是否已安装;如果没有,请安装 fs-exra。

  • 您可以使用以下命令来检查是否安装了 fs-extra。

npm ls fs-extra

  • 创建一个createSymlink.js并将以下代码片段复制粘贴到该文件中。

  • 现在,运行以下命令来运行以下代码片段。

节点 createSymlink.js

const fs = require('fs-extra')

const srcPath = '/tmp/file.txt'
const destPath = '/tmp/dest/file.txt'

// 使用回调创建符号链接:
fs.ensureSymlink(srcPath, destPath, err => {
   console.log(err) // 这将返回空值。
   // 成功创建符号链接
})

// 使用 Promise 创建符号链接:
fs.ensureSymlink(srcPath, destPath)
.then(() => {
   console.log('success!')
})
.catch(err => {
   console.error(err)
})

// 使用 async/await 创建符号链接:
async function createSymlinkExample (src, dest) {
   try {
      await fs.ensureSymlink(src, dest)
      console.log('Success!')
   } catch (err) {
      console.error(err)
   }
}
createSymlinkExample(srcPath, destPath)

输出

C:\Users\nhooo\> node createSymlinkExample.js
null
{ [Error: EEXIST: file already exists, symlink '/tmp/file.txt' ->
'/tmp/dest/file.txt']
   errno: -17,
   code: 'EEXIST',
   syscall: 'symlink',
   path: '/tmp/file.txt',
   dest: '/tmp/dest/file.txt' }
   { [Error: EEXIST: file already exists, symlink '/tmp/file.txt' ->
   '/tmp/dest/file.txt']
   errno: -17,
   code: 'EEXIST',
   syscall: 'symlink',
   path: '/tmp/file.txt',
dest: '/tmp/dest/file.txt' }

简介 ensureSymlinkSync()

此方法还确保符号链接存在。如果不存在,则创建目录结构。

语法

createSymlinkSync(srcPath, destPath[, type])

参数

  • srcPath – 文件的源路径。

  • destPath – 文件的目标路径。

  • type – 此参数仅在 Windows 上可用,在其他平台上被忽略。此参数的可能值为dir、file 或junction。

例子

  • 在继续之前检查 fs-extra 是否已安装;如果没有,请安装 fs-exra。

  • 您可以使用以下命令来检查是否安装了 fs-extra。

npm ls fs-extra

  • 创建一个createSymlinkSyncExample.js并将以下代码片段复制粘贴到该文件中。

  • 现在,运行以下命令来运行以下代码片段。

node createSymlinkSyncExample.js

代码片段-

const fs = require('fs-extra')

const srcPath = '/tmp/file.txt'
const destPath = '/tmp/dest2/file.txt'
fs.ensureSymlinkSync(srcPath, destPath)
console.log('Success... !')

输出

C:\Users\nhooo\> node createSymlinkSyncExample.js
Success... !