npm link 全方位解读

2019-10-11 admin

本文参考了NPM中文文档写作而成的

npm link 功能

链接到包文件夹

npm link 使用

npm link (in package dir)
npm link [<@scope>/]<pkg>[@<version>]

alias: npm ln

npm link 说明

程序包链接是一个两步过程。

首先,npm link 在包文件夹中,将在全局文件夹{prefix}/lib/node_modules/<package>中创建一个符号链接,该 链接链接到 npm link 执行命令的包。(请参阅 [npm config](https://www.axihe.com/api/npm/cli/npm-config.html)以获取的值 prefix)。它还会将包装中的所有垃圾箱链接到{prefix}/bin/{name}

接下来,在其他位置,npm link package-name 将创建一个从全局安装 package-name 到 node_modules/ 当前文件夹的符号链接。

请注意,该 package-name 取自 package.json,而不是目录名称。

包名称可以可选地以范围为前缀。请参阅 npm-scope。作用域之前必须加一个 @符号,再加上一个斜杠。

在为创建 tarball 时 npm publish,通过解析符号链接将链接的程序包“快照”到其当前状态。

这对于安装您自己的东西很方便,因此您可以对其进行处理并对其进行迭代测试,而不必不断进行重建。

例如:

cd ~/projects/node-redis # go into the package directory
npm link # creates global link
cd ~/projects/node-bloggy # go into some other package directory.
npm link redis # link-install the package

现在,对 ~/projects/node-redis 的任何更改都将反映在 ~/projects/node-bloggy/node_modules/node-redis/ 中。请注意,链接应指向软件包名称,而不是该软件包的目录名称。

您也可以将两个步骤合为一体。例如,以较短的方式完成上述用例:

cd ~/projects/node-bloggy # go into the dir of your main project
npm link ../node-redis # link the dir of your dependency

第二行等效于执行以下操作:

(cd ../node-redis; npm link)
npm link redis

也就是说,它首先创建一个全局链接,然后将全局安装目标链接到项目的 node_modules 文件夹中。

请注意,在这种情况下,您指的是目录名 node-redis,而不是包名 redis。

如果链接的程序包是作用域的(请参阅参考资料 npm-scope),则 link 命令必须包含该作用域,例如

npm link @myorg/privatepackage

本文参考NPM中文文档

[转载]原文链接:https://segmentfault.com/a/1190000020644732

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。

转载请注明:文章转载自 JavaScript中文网 [https://www.javascriptcn.com]

本文地址:https://www.javascriptcn.com/read-77088.html

文章标题:npm link 全方位解读

相关文章
用element-ui的走马灯carousel轻松实现自适应全屏banner图
写在前面:网站轮播图建议使用swiper组件,非常方便快捷。 接手一个项目,轮播图是用element-ui的carousel实现的,看起来效果还不错,只是固定宽高,并未做适配,于是将就代码做下修改,以适配各种显示器屏幕。 &lt;e...
2018-05-11
javascript实现控制浏览器全屏
功能很简单,代码也很简洁,这里就不多废话了 function fullScreen() { var el = document.documentElement, rfs = el.requestFullScreen || el....
2017-03-22
JavaScript 常见安全漏洞和自动化检测技术
前言 随着 Web2.0 的发展以及 Ajax 框架的普及,富客户端 Web 应用(Rich Internet Applications,RIA)日益增多,越来越多的逻辑已经开始从服务器端转移至客户端,这些逻辑通常都是使用 JavaScri...
2017-03-29
最全的Javascript编码规范(推荐)
1.嵌入规则 Javascript程序应该尽量放在.js的文件中,需要调用的时候在页面中以&lt;script src=“filename.js”&gt;的形式包含进来。Javascript代码若不是该页面专用的,则应尽量避免在页面中直接编...
2017-03-21
vue和vue-cli构建使用 px2rem-loader ,全局自动转换px单位,完美解决引入第三方样式变小的问题
最近公司的的项目赶,作为前端的小白懒出新的高度,使出专业的技能 --复制粘贴!!(改别人的代码也是煎熬) 我经常做一些H5页面,这样就会遇到适配这个头疼的问题,我分享下我用经常用到的适配方案: 这里就不细说了 有大神总结 ,或者自行百度。 ...
2018-04-25
JavaScript取得WEB安全颜色列表的方法
本文实例讲述了JavaScript取得WEB安全颜色列表的方法。分享给大家供大家参考。具体如下: web安全颜色指的是 护眼色, 能够让访问者的眼睛舒服的颜色 &#x2F;&#x2F;JavaScript取得216种WEB安全色值 var ...
2017-03-27
mac Os下全局安装vue cli3.0出现的报错解决方案
直接 npm install -g @vue/cli全局安装是会出现错误 错误如下: Last login: Tue Oct 30 23:43:58 on ttys000 asusdeMac:~ asus$ npm install -g @...
2018-10-31
vscode 调试node之npm与nodemon
调试nodejs有很多方式,可以看这一篇How to Debug Node.js with the Best Tools Available,其中我最喜欢使用的还是V8 Inspector和vscode的方式。 在vscode中,点击那个蜘...
2018-04-29
hls.js 源码解读【2】
源码分析会点出核心的调用流程,其中一些不常用的方法或者比较容易理解的不做详细的注释。 hls.js 是模块打包的入口 import URLToolkit from &#x27;url-toolkit&#x27;; import Even...
2018-02-24
JS中正则表达式全局匹配模式 /g用法详解
本文章来详细介绍js中正则表达式的全局匹配模式 /g用法,代码如下: [code brush:js;toolbar:false;]var str = “123#abc”; var re = /abc/ig; console.log(re.t...
2017-04-05
回到顶部