美文网首页
使用Verdaccio搭建npm私服

使用Verdaccio搭建npm私服

作者: 十年之后_b94a | 来源:发表于2021-05-11 11:31 被阅读0次

    1、Verdaccio有什么用?

    官方的说法我这里就不说了,什么npm注册表啊等等,说白了前端用这个可以搭建一个自有/私有的npm源仓库,就比如淘宝的cnpm或者你可以直接把npm的镜像源指向淘宝的源,而Verdaccio这个就是让你有一个自己的或者公司的私有npm镜像源,这非常有利于一个公司前端团队开发的包并不想被外部人员使用,但又不想拷贝来拷贝去的,所以我们开始使用该工具开发吧。

    2、安装

    前置条件:1、你的node版本必须是Node.js v12或更高版本。2、你需要有npm/yarn。

    npm i verdaccio -g
    

    3、运行

    直接使用命令工具输入:verdaccio

    verdaccio运行结果
    到这一步,我们先别急着访问http://localhost:4873/,因为此时该服务上还没有你的包,所以无法进行访问。

    4、使用nrm管理镜像源工具

    该工具主要是用来方便你切换npm指向的镜像源,当然你可以直接使用
    npm set registry http://localhost:4873

    npm install -g nrm
    
    nrm add mynpm http://localhost:4873
    
    nrm use mynpm
    

    到这里你的npm的镜像源已经切换成自有的了。

    5、发布包

    发布包和原先的npm发布包并没有什么差异。可以参考

    5-1、注册npm用户

    需要注意的是这里的用户注册不是npm.org上面的用户,而是你私服上的用户

    npm add user 
    
    image.png

    到这里你就可以访问网站http://localhost:4873,并且我们使用刚刚注册的账号登录。

    image.png

    5-2、发布一个简单的包。

    创建一个文件夹,并初始化package.json文件

    {
      "name": "test-pack",
      "version": "0.0.1",
      "description": "这是测试私服的npm镜像源",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "keywords": [],
      "author": "十年之后",
      "license": "ISC"
    }
    
    

    你需要在根目录创建你的入口文件index.js

    module.exports =  {
        name: '这是我的包',
        printFun: function () {
            console.log(this.name);
        }
    }
    

    在该项目下运行:npm publish,然后我们在访问网站http://localhost:4873

    image.png

    6、在你的新工程项目中使用你刚发布的包

    npm install test-pack -D
    

    然后你就可以使用你的包了。

    7、猜想?如果我在镜像源中发布的包里没有我工程想要的包,他会不会报错?

    比如我们在上述案例中创建了一个test-pack的包,但是在我们的工程中我想要安装vue/react等其他我这里不存在的包,他会不会安装失败?,答案是不会的,在Verdaccio中,如果你安装的包在你的私服上不存在,他会往官方的npm镜像源中查找。所以你不用担心,但是如果我想私服不存在往淘宝的镜像源查找可不可以?这当然是可以的,怎么操作?

    在本文中 运行的截图我们可以看到Verdaccio配置文件的位置,我们进行配置修改

    uplinks:
      npmjs:
        url: https://registry.npm.taobao.org
    

    8、发布

    发布其实没什么好说得了,无非就是在服务器上开启服务,使用forever启动我们得命令文件,在使用nginx映射我们得端口就好了

    相关文章

      网友评论

          本文标题:使用Verdaccio搭建npm私服

          本文链接:https://www.haomeiwen.com/subject/vulgdltx.html