Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >前端-团队效率(四)私有npm仓库

前端-团队效率(四)私有npm仓库

作者头像
吴文周
发布于 2020-01-17 08:12:45
发布于 2020-01-17 08:12:45
2.3K00
代码可运行
举报
文章被收录于专栏:吴文周的专栏吴文周的专栏
运行总次数:0
代码可运行

思考三个问题?

  1. 为什么要使用私有仓库?
  2. 为什么选择verdaccio?怎么搭建verdaccio?怎么使用verdaccio?
  3. 怎么新建Vue组件打包上传到仓库下载使用?(下回吧太长了)

why?私有仓库

  • 安全性,私有服务部署在公司内部,避免不必要的业务代码泄露
  • 效率性,本地内网服务器下载或者阿里云下载速度比外网下载更快?看人品
  • 其他npm仓库的好处(统一管理啥的偷懒了)

how?verdaccio

开始安装

检查环境 node -v npm -v 如果没有弄得环境请先安装nodejs

检查防火墙

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
查看防火墙规则:firewall-cmd --list-all
查询端口是否开放firewall-cmd --query-port=4873/tcp(默认端口,可以自定义)
开放4873端口firewall-cmd --permanent --add-port=4873/tcp (默认端口,可以自定义)
阿里云服务器请开放安全组端口

正式开始安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install -global verdaccio --unsafe-perm(如果单纯-global报错使用当前命令)
#--unsafe-perm  说明:npm会有生命周期,某个包会有生命周期来执行一些东西,安全起见会自动降级导致没有权限执行一些操作,通过--unsafe-perm参数来解锁该限制。

运行 执行 verdaccio

记住第一行的配置信息很有用

当前服务是已经启动了,想要整个项目部署团队使用还要一些配置,下面让我们进入配置文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#
# This is the default config file. It allows all users to do anything,
# so don't use it on production systems.
#
# Look here for more config file examples:
# https://github.com/verdaccio/verdaccio/tree/master/conf
#

# path to a directory with all packages
# 所有包的缓存目录
storage: /Users/fodelf/.local/share/verdaccio/storage
# path to a directory with plugins to include
# 插件目录
plugins: ./plugins  //

# web服务配置
web: 
  title: Verdaccio
  # comment out to disable gravatar support
  # gravatar: false
  # by default packages are ordercer ascendant (asc|desc)
  # sort_packages: asc

#验证服务
auth:
  htpasswd:
    file: ./htpasswd
    # Maximum amount of users allowed to register, defaults to "+inf".
    # You can set this to -1 to disable registration.
    # max_users: 1000

# a list of other known repositories we can talk to
#上游配置本地没有的资源去上游拉取,可以配置淘宝镜像,由于镜像本身问题建议使用源
uplinks:
  npmjs:
    url: https://registry.npmjs.org/

packages:
  '@*/*':
    # scoped packages
    access: $all
    publish: $authenticated
    unpublish: $authenticated
    proxy: npmjs

  '**':
    # allow all users (including non-authenticated users) to read and
    # publish all packages
    #
    # you can specify usernames/groupnames (depending on your auth plugin)
    # and three keywords: "$all", "$anonymous", "$authenticated"
    access: $all

    # allow all known users to publish/publish packages
    # (anyone can register by default, remember?)
    publish: $authenticated
    unpublish: $authenticated

    # if package is not available locally, proxy requests to 'npmjs' registry
    proxy: npmjs

# You can specify HTTP/1.1 server keep alive timeout in seconds for incoming connections.
# A value of 0 makes the http server behave similarly to Node.js versions prior to 8.0.0, which did not have a keep-alive timeout.
# WORKAROUND: Through given configuration you can workaround following issue https://github.com/verdaccio/verdaccio/issues/301. Set to 0 in case 60 is not enough.
server:
  keepAliveTimeout: 60

middlewares:
  audit:
    enabled: true

# log settings
logs:
  - { type: stdout, format: pretty, level: http }
  #- {type: file, path: verdaccio.log, level: info}
#experiments:
#  # support for npm token command
#  token: false

# 监听的端口 ,重点, 不配置这个,只能本机能访问
listen: 0.0.0.0:4873

修改配置文件之后,先 ctr + c 暂停verdaccio 任务 采用下面的方式重新启动

pm2进程守护(开发过node项目的同学知道,node进程跑几天就挂是常有的事情所以需要进程守护)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install -g pm2 --unsafe-perm

查找verdaccio可执行js的目录
whereis verdaccio
cd xx 进入目录 
pm2 start verdaccio.js

整个服务端流程结束

启动号服务后,客户端访问地址 http://xxx:4873

客户端根据提示在终端执行以下命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm set xxx:4873
npm adduser xxx:4873
进入需要发布的插件目录下面
npm login
输入用户名,密码,邮箱
npm publish
发布插件

在客户端访问地址查看 插件是否上传成功

在项目中使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm i xx 插件名称

完结撒花!!!!!!!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年10月16日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Echo 在 Windows 环境下的部署
使用 IDEA 打开本项目,等待所有的依赖下载完毕。然后「修改配置文件中的信息为你自己的本地环境,直接运行是运行不了的」,而且相关私密信息我全部用 xxxxxxx 代替了。
飞天小牛肉
2021/02/26
6700
Echo 在 Windows 环境下的部署
修订版 | Echo 在 Windows 环境下的部署
使用 IDEA 打开本项目,等待所有的依赖下载完毕。然后修改配置文件中的信息为你自己的本地环境,直接运行是运行不了的,而且相关私密信息我全部用 xxxxxxx 代替了。
飞天小牛肉
2021/04/26
5210
修订版 | Echo 在 Windows 环境下的部署
Linux 服务器环境搭建
官网下载地址:https://www.oracle.com/java/technologies/downloads
默存
2024/03/22
2640
Linux 服务器环境搭建
Linux服务器安装JDK、Tomcat、MySQL和一些配置
        1.将本地安装包jdk-7u71-linux-x64.tar.gz拷贝到服务器/opt/java目录
sunonzj
2022/06/21
2.5K0
Linux服务器安装JDK、Tomcat、MySQL和一些配置
从零开始写项目第四篇【搭建Linux环境】
使用SSH连接Linux环境 经过十多天的时间,我的网站备案终于完成了…接下来我就收到了阿里云的邮件。它让我在网站首页的尾部添加备案号,貌似还需要去公安网站中再备案什么资料的。 2017年11月20日19:06:26在图书馆并没有带身份证、于是就得放一下了。 接下来,我就是要把我写的东西放在Linux下了。首先,我得连接Linux系统,通过阿里云的远程服务可以连接得到。 密码可以在阿里云中设置,用户名是root,开始的时候我并不知道用户名是root,看了一下子文档才知道… 然后阿里云文档中还说了可是使用ss
Java3y
2018/04/02
1.8K0
从零开始写项目第四篇【搭建Linux环境】
Docker篇之秒杀项目环境部署
后期要使用Canal,需要把MySQL的配置文件提取出来,所以要进行相关的配置文件的编写
Maynor
2021/12/06
5660
Linux 服务器环境搭建及配置[通俗易懂]
(4)、然后进行解压命令,将压缩包进行解压,解压完成之后,执行删除命令删除压缩包。
全栈程序员站长
2022/07/25
7.7K0
Linux 服务器环境搭建及配置[通俗易懂]
运维相关
服务器配置: 数据库rds、redis、nacos、nginx、node、git、域名、OSS、java、maven 安装Java\maven\nginx\Mysal JAVA yum install java-1.8.0-openjdk : java -version vim /etc/profile.d/java.sh JAVA_HOME=“/usr/lib/jvm/java-1.8.0-openjdk” source /etc/profile.d/java.sh 验证:echo $JA
六个周
2022/10/28
2.9K0
运维相关
Jenkins搭建自动化部署环境(基于github)
因为我用的win7系统,所以下载好后,在jenkins.war路径下,打开命令行,使用下面的命令运行jenkins。
秃头哥编程
2019/06/04
6730
Jenkins搭建自动化部署环境(基于github)
009.统一数据采集平台DBus-0.6.1安装部署
我的环境已经安装了Ambari-2.7.4.0+HDP-3.1.4.0大数据平台,已安装的组件的版本如下:
CoderJed
2020/11/12
2K0
009.统一数据采集平台DBus-0.6.1安装部署
CentOS服务器部署(YUM)
2) 下载新的CentOS-Base.repo 到/etc/yum.repos.d/
码客说
2019/10/22
3.2K0
搭建Jenkins+tomcat+maven+Gitlab持续部署/回滚系统
使用Jenkins拉取Gitlab上面代码使用Maven进行打包,在使用Jenkins里面规定好shell脚本进行发布/回滚
释然IT杂谈
2020/07/22
1.5K0
搭建Jenkins+tomcat+maven+Gitlab持续部署/回滚系统
就几条命令,一键学会Docker部署SpringBoot项目
我们的开源博客项目eblog已经更新完毕了。今天,我们使用docker的安装方式,来安装一下我们的项目,实验环境是centos 7系统上,本实验适用部署大部分Springboot项目。
java思维导图
2020/05/26
5860
RedHad 7.x服务器操作记录
(1)查看版本和内核 [root@master ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.3 (Maipo) [root@master ~]# uname -a Linux master 3.10.0-514.el7.x86_64 #1 SMP Wed Oct 19 11:24:13 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux [root@master ~]# (2)查看磁
程裕强
2022/05/06
2560
从0开始搭建一台服务器开发环境【中篇】
7,在浏览器输入:localhost 如果不配置端口:localhost :8080
终有链响
2024/07/29
1230
从0开始搭建一台服务器开发环境【中篇】
Linux 日常使用小记.
一、Oracle VirtualBox安装Linux7.0全屏设置 1. 点击菜单栏 设备 –> 分配光驱 –> 选择一个虚拟光盘,找到VirtualBox安装目录下的VBoxGuestAdditions.iso,加载此镜像。 2. 启动Linux系统并用root身份登入系统 3. 执行挂载命令,将虚拟光盘挂在到 /mnt/cdrom,如果没有cdrom目录,则先创建之。 mkdir /mnt/cdrom mount -t auto -r /dev/cdrom /mnt/cdrom  4. 复制脚本到/t
JMCui
2018/03/15
1.1K0
Jenkins+Gitlab+Nginx+Maven编译Java项目自动发布与基于tag版本回退(重复构建问题已解决)
实现流程: 手动部署Java项目至后端Web集群 1.搭建Nginx+Tomcat集群架构。 2.开发提交Java源代码至Gitlab仓库。 3.手动获取Java源代码,然后使用Maven进行编译。 4.将编译后的War包部署至后端Tomcat集群。 5.通过浏览器访问测试,检测项目部署情况。 自动部署Java项目至Web集群 1.Jenkins安装Maven Integration插件,使其支持Maven项目构建。 2.Jenkins配置JDK路径以及Maven路径。 3.配置Build-->Maven编
非著名运维
2022/06/22
1.9K0
Jenkins+Gitlab+Nginx+Maven编译Java项目自动发布与基于tag版本回退(重复构建问题已解决)
使用Docker部署常用中间件
1.安装yum-utils,yum-utils提供了yum-config-manager管理工具
兜兜转转
2023/03/06
9160
基于 SpringBoot 开源社区系统,简单大方!
Echo 是一套前后端不分离的开源社区系统,基于目前主流 Java Web 技术栈(SpringBoot + MyBatis + MySQL + Redis + Kafka + Elasticsearch + Spring Security + ...),并提供详细的开发文档和配套教程。包含帖子、评论、私信、系统通知、点赞、关注、搜索、用户设置、数据统计等模块。
Java小咖秀
2022/04/04
5640
基于 SpringBoot 开源社区系统,简单大方!
Docker容器学习梳理--应用程序容器环境部署
关于国内Docker镜像,可以参考:Docker容器学习梳理--基础知识(2) 的Docker镜像使用。 如果我们需要在Docker环境下部署tomcat、redis、mysql、nginx、php等应用服务环境,有下面三种方法: 1)根据系统镜像创建Docker容器,这时容器就相当于是一个虚拟机,进入容器内部署应用环境。 然后将这种应用容器提交为新的镜像,最后基于这种新的应用镜像创建容器,创建时做好端口映射,就可以在外部访问这些应用了。 2)直接通过docker pull拉取别人提交好的tomcat
洗尽了浮华
2018/01/23
2.4K0
Docker容器学习梳理--应用程序容器环境部署
推荐阅读
相关推荐
Echo 在 Windows 环境下的部署
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验