热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

搭建npm私库(超简朴)

缘由我搭私库的缘由很简单,现在正在开辟一个组件库,提供给公司内部运用,我不想去注册npm,也不想守候npm的考核,只想要有个堆栈疾速测试宣布本身的npm包。怎样搭现在最轻易的计划就
缘由

我搭私库的缘由很简单,现在正在开辟一个组件库,提供给公司内部运用,我不想去注册npm,也不想守候npm的考核,只想要有个堆栈疾速测试宣布本身的npm包。

怎样搭

现在最轻易的计划就是verdaccio,搭建异常轻易,平常就几分钟就搞定了,须要的东西:

  • 装置nodejs和npm
  • 全局装置verdaccio
  • shh和pm2(非必需,假如你要布置到长途效劳器的话)

接下来细致引见搭建的步骤。

全局装置verdaccio

装置verdaccio之前,我默许人人都已装置了nodejs和npm环境,这个就不再赘述了。假如是当地搭建的话,直接进行下面的操纵就能够了。假如是在长途效劳器搭建,经由过程ssh衔接长途效劳器就行。

# 全局装置
npm install verdaccio - g

修正verdaccio设置

修正设置的目标就是让我们的私库能够经由过程公网的ip接见,起首检察npm全局装置包的地点位置:

npm root -g
/usr/local/Cellar/node/8.4.0/lib/node_modules

个中/usr/local/Cellar/node/8.4.0/lib/node_modules就是我们npm包全局装置的地点。按以下定名查找设置文件地点的位置
《搭建npm私库(超简朴)》
然后

vim default.yaml

设置状况以下

#
# 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: ./storage
# path to a directory with plugins to include
plugins: ./plugins
web:
# WebUI is enabled as default, if you want disable it, just uncomment this line
#enable: false
title: Verdaccio
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
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 packages
# (anyone can register by default, remember?)
publish: $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 incomming 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 enought.
server:
keepAliveTimeout: 60
# To use `npm audit` uncomment the following section
middlewares:
audit:
enabled: true
# log settings
logs:
- {type: stdout, format: pretty, level: http}
#- {type: file, path: verdaccio.log, level: info}
# listen
listen: 0.0.0.0:4873

末了一行动新增的设置, 用于支撑外网ip接见

listen: 0.0.0.0:4873

然后输入:wq保留并退出vim形式,启动verdaccio效劳即可。我平常会经由过程pm2启动,缘由很简单,封闭doc窗口后,效劳不会停掉,并且能很好的治理我们启动的效劳。

运用pm2

常用命令

  • 装置:npm install pm2 -g
  • 启动:pm2 start verdaccio
  • 住手:pm2 stop verdaccio
  • 重启:pm2 restart verdaccio
  • 删除运用:pm2 delete verdaccio
  • 检察日记:pm2 logs verdaccio

我们来启动效劳,检察结果:

pm2 start verdaccio

《搭建npm私库(超简朴)》
至此,npm的私库搭建就完成了,图中是我最新宣布的一个基于vue的组件库,后续会对组件库的编写和宣布做引见,有兴致的朋侪关注以下。


推荐阅读
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文介绍了JavaScript进化到TypeScript的历史和背景,解释了TypeScript相对于JavaScript的优势和特点。作者分享了自己对TypeScript的观察和认识,并提到了在项目开发中使用TypeScript的好处。最后,作者表示对TypeScript进行尝试和探索的态度。 ... [详细]
  • RMarkdown是一种用于在R中生成可重复生成的报告的开源工具。它可以帮助您将所有代码,结果和编写都放在一个地方,并以有吸引力且易于消化的方式格式化所 ... [详细]
  • 用NAN写一个nodejs的c++扩大
    NAN引见NAN的全称为NativeAbstractionforNode.js,其表现上是一个Node.js包。装置后,就获得一堆C++头文件,内里是一堆宏。它主要为Node.js ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • EzPP 0.2发布,新增YAML布局渲染功能
    EzPP发布了0.2.1版本,新增了YAML布局渲染功能,可以将YAML文件渲染为图片,并且可以复用YAML作为模版,通过传递不同参数生成不同的图片。这个功能可以用于绘制Logo、封面或其他图片,让用户不需要安装或卸载Photoshop。文章还提供了一个入门例子,介绍了使用ezpp的基本渲染方法,以及如何使用canvas、text类元素、自定义字体等。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • npmrunbuild后dist文件夹下面直接浏览器打开index.html,css和js的路径都不正确。放到跟目录下就正常了,iis上同样只能在根目录下。我项目的目录如下: ... [详细]
  • 本文主要介绍关于linux文件描述符设置,centos7设置文件句柄数,centos7查看进程数的知识点,对【Linux之进程数和句柄数】和【linux句柄数含义】有兴趣的朋友可以看下由【东城绝神】投 ... [详细]
  • python3.7 安装pip3_python3的pip3安装
    ---恢复内容开始---pip3的安装需要对应一整套python的编译工具库,所以安装好的pip3是这个样子:inearAi:~$pip3-Vpi ... [详细]
  • Linux配置IP地址大全
    IP地址配置方法一:编辑配置文件#编辑网卡参数[roottest~]#vimetcsysconfignetwork-scriptsifcfg-ens331TYPEE ... [详细]
  • k8s进阶之搭建私有镜像仓库
    企业级私有镜像仓 ... [详细]
  • 来自fs的Node.jsstats.blksize属性。统计等级 ... [详细]
  • 业务:Payments&Risk大数据/AI/数据可视化时间要求:至少实习6个月,每周5天,入职时间4-5月 ... [详细]
author-avatar
schell
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有