zoukankan      html  css  js  c++  java
  • npm link中文文档

    Symlink(符号链接)一个package文件夹。

    概括

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

    描述

    package 链接过程分为两步
    首先、npm link将会在全局包{prefix}/lib/node_modules/下面创建一个指向命令执行的地方的符号链接。同时也会创建一个{prefix}/bin/{name}下面对应的bin包。
    另一种情况下,npm link package-name 将会创建一个从global包指向当前文件夹node_modules/下对应的链接。
    注意:package-name是依据package.json的name而非文件名称。

    包名称可以选择以任意作用域为前缀。 详情请查看npm-scope。 作用域必须以@-symbol开头,后跟斜杠。

    在npm publish创建tarballs时,会通过解析符号链接将被链接的包“快照”到其当前状态。
    安装自己的东西很方便,所以很方便基于其迭代开发测试,不需要重新build。
    例如:

    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/。需要注意的是,link的是包的名称而非文件夹名称。

    当然你也可以简化以上两步,如下

    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
    

    上面做了如下事情:首先创建了一个全局链接,然后讲该全局安装的target链接到自己项目里的node_modules文件夹。
    注意这种简化的操作,后面是文件路径node-redis而不是package的名称redis
    如果链接的包是有作用域的,我们的命令就要包括作用域

    npm link @myorg/privatepackage
    

    总结

    npm link的用途可以用于自己本地开发的模块调试过程
    避免每次都publish npm包,然后安装调试。

    这时候就可以先将该模块link到全局,然后在需要调试的项目里,将该命令链接到本地node_modules下面。
    更多原文查看https://docs.npmjs.com/cli/link

  • 相关阅读:
    【Manacher(马拉车)算法】
    【可持久化数据结构】
    react-dva修改默认端口的方法
    关于React Hooks使用
    react hook useContext 跨文件接收
    el-select中使用el-tooltip时,在下拉滚动时整个网页会出现滚动条,并抖动
    react的onClick执行函数和bind(this)问题
    禁用h5页面中长按图片弹出的弹层
    JS树结构操作:查找、遍历、筛选、树结构和列表结构相互转换
    js树结构查找节点
  • 原文地址:https://www.cnblogs.com/pqjwyn/p/9626335.html
Copyright © 2011-2022 走看看