symlink-resolver-fork
由 Andy Young | v0.2.1-fork.1
简单工具,用于替换符号链接为真实文件,反之亦然。
npm i --save symlink-resolver-fork

符号链接解析器

此工具允许在指定目录中将符号链接替换为真实文件,并将更改恢复为符号链接。所有魔法都在一个简单的命令行命令中!

安装

npm install symlink-resolver --save-dev

需要 Node.js v6.4+ 和 POSIX 标准化的操作系统。

将以下规则添加到您的 package.jsonscripts 部分

"scripts": {
"symlink-resolver": "symlink-resolver",
}

基本用法

为了快速使用,您可以直接运行

  • npm run symlink-resolver build ./symlinks/path 以在 ./symlinks/path 中将符号链接替换为真实文件
  • npm run symlink-resolver clear ./symlinks/path恢复 所有符号链接

第一个命令将创建 ./symlinks/path/.symlinks.json 文件,其中包含在此目录中进行的更改。它将在第二个命令中删除,但是您仍然可以将以下规则添加到您的 .gitignore.symlinks.json

如何创建符号链接?

使用 ln -s 目标 源 命令,例如。

ln -s ../../source/path/linked-dir ./project/src/linked-dir

高级用法

如果您需要此功能来构建,则强烈建议您自动化您的构建过程

"scripts": {
"symlink-resolver": "symlink-resolver",
"prebuild": "npm run symlink-resolver build ./symlinks/path",
"postbuild": "npm run symlink-resolver clear ./symlinks/path",
"build": "your build command should be under this name"
}

这样,您就可以无忧地构建和编辑文件。

然而,在某些情况下,例如模拟设备,"post" 脚本将不会执行。如果这也是您的情况,请查看 NativeScript 的示例解决方案

  "scripts": {
"symlink-resolver": "symlink-resolver",
"prens-bundle": "npm run symlink-resolver build ./symlinks/path",
"delay-clear": "sleep 22 && npm run symlink-resolver clear ./symlinks/path",
"ns-bundle": "npm run delay-clear | ns-bundle",
"start-android-bundle": "npm run ns-bundle --android --start-app",
"start-ios-bundle": "npm run ns-bundle --ios --start-app",
"build-android-bundle": "npm run ns-bundle --android --build-app",
"build-ios-bundle": "npm run ns-bundle --ios --build-app"
},

高级配置

您可以根据需要调整 Config

  • 想使用自定义符号链接文件名?没问题,只需将 Config.symlinksFile 设置为您想要的任何内容。
  • 需要一些自定义行为?只需扩展 SymlinkHelper 类并将 Config.helperClass 设置为您自己的。
export interface ConfigInterface {
rootDir: string;
symlinksFile: string;
helperClass: typeof SymlinkHelper;
}
祝您开发愉快!