npm符号链接
前言
最近在写一个快应用项目,demo中依赖了本地文件,package.json如下:
此时 node_modules 下出现了 mysdk,复制整个项目,但是copy的项目中的node_modules并未出现该文件,导致报错。
解决方案
观察 package-lock.json 中一共出现了三处有关 mysdk 的配置,分别是:
- “packages”.“”.“dependencies”.“mysdk”:使用了本地路径依赖,来自 package.json。
- “packages”.“…/mySDK”:本地路径包的内容描述,来自 …/mySDK/package.json。
- “packages”.“node_modules/mysdk”:符号链接元信息,并不把 mySDK 的代码拷贝进来,真实代码仍在 …/mySDK/,而是在 node_modules 下做一个“快捷方式”,代码还是从 …/mySDK/ 路径读取。
所以通过符号链接出现在 node_modules 中的文件,copy时并不会出现在项目中。