npm 上传发布自定义组件以及使用详细流程(Vue包含)(上)

简介: npm 上传发布自定义组件以及使用详细流程(Vue包含)

一、简介

二、注册 NPM 账号

  • 注册好之后记得去填的注册邮箱里面验证一下,在继续下一步,否则发布会报错。

三、打开命令行,登录 NPM

  • 在登录之前,先确定一下 NPM 镜像,如果镜像在之前设置为了淘宝镜像,那么在使用 npm login 登录时会出错,所以需要先将源替换为官方源,然后再上传。
// 查看当前 npm 源配置
$ npm config ls
// 查看当前 npm 全部源配置
$ npm config ls -l
// 修改 npm 源地址为官方源
$ npm config set registry https://registry.npmjs.org/
// 将 npm 源地址修改为淘宝源(用于安装 npm 速度慢的时候使用)
$ npm config set registry  https://registry.npm.taobao.org/
  • 通过执行 $ npm config ls -l 命令查看 metrics-registry = "https://registry.npmjs.org/" 是否为官方源,如果不是则使用上面命令设置为官方源。
  • 进行登录
// 登录命令
$ npm login
// 退出登录命令
$ npm logout
  • 运行登录命令之后输入 NPM 账号密码邮件
dengzemiaodeMacBook-Pro:DZMTest dengzemiao$ npm login
Username: dengzemiao
Password: 
Email: (this IS public) xxxxx@163.com
Logged in as dengzemiao on https://registry.npmjs.org/.

四、上传发包

  • 创建一个文件夹,例如:DZMTest
$ cd DZMTest
  • 在文件中创建 package.json,运行命令之后一路回车到底,没啥好改的,等下到文件里面也可以改。
$ npm init
  • package.json 文件全部字段解释:
    一般创建出来的 package.json 文件只会包含下面其中一部分字段,其他都是隐藏可选字段,根据自己的情况使用,下面列出来大部分常用的字段用于参考:
{
  // 发布的包名,默认是上级文件夹名。不得与现在npm中的包名重复。包名不能有大写字母/空格/下滑线!
  "name": "#####",
  // 版本号,每次要更新
  "version": "1.0.0",
  // 包的描述
  "description": "仅供测试,别下载",
  // 文件入口,默认是 index.js,可修改
  "main": "index.js",
  "scripts": {
    // 测试命令,可以不填直接回车
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  // 作者名称
  "author": "###",
  // 包遵循的开源协议,默认是ISC
  "license": "ISC",
  // 因为组件包是公用的,所以 private 为 false
  "private": false,
  // 当前包需要依赖的第三方组件,如何安装使用依赖包,可以看看文章顶部的NPM命令介绍文章
  "dependencies": {},
  // "devDependencies": {}
  // 指定代码所在的仓库地址
  "repository": {
    "type": "git",
    "url": "https://github.com/dengzemiao/DZMFullPage.git"
  },
  // bug在哪里提
  "bugs": {
     "url": "https://github.com/dengzemiao/DZMFullPage/issues"
  },
  // 项目官网的地址
  "homepage": "https://github.com/dengzemiao/DZMFullPage",
  // 指定打包后,包中存在的文件夹
  "files": [
    "dist",
    "src"
  ],
  // 指定了项目的目标浏览器的范围
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8"
  ],
  // 项目关键词,供搜索
  "keywords": [
    "测试"
  ]
}
  • 调整 package.json,文件中这两个是必须要填写的,第一个是包名,第二个是版本号,其他随意,更具自己需求调整,没什么特别需求就修改名字跟版本号直接上,其他默认是啥就是啥,看自己需求去改或者增删。
{
  "name": "dzmtest",
  "version": "1.0.0"
}
  • NPM 官网查询一下当前包名是否存在,存在的话就需要换一个:

  • DZMTest 文件夹里面在创建一个 index.js 文件,这也是上面设置的入口文件
    index.js:
// index.js 页面方法
function indexTest () {
  console.log('index.js 测试输出')
}
// 导出 (module.exports 如果使用不是很熟,百度一下就知道了,用法很简单)
module.exports = { indexTest }
  • (如果不需要本地测试一下可以跳过) 创建好 index.js 之后可以本地测试一下,创建一个 test.js 在这个文件里面导入 index.js 进行本地使用一下
    test.js:
// 导入 index.js 中的方法进行本地测试
var index = require('./index')
// 执行方法
index.indexTest()
  • 我这边用的是 VSCode 装了运行 js 的插件可以直接右键运行代码,输出为
[Running] node "/Users/dengzemiao/Desktop/NPM/DZMTest/test.js"
index.js 测试输出
[Done] exited with code=0 in 0.054 seconds
  • 这样,说明代码是没有问题的,那么可以进行发布了!!
  • (可选) 可以在根目录下新建 .npmignore 文件,设置忽略发布文件,文件不多可以不加,看自己心情。
.DS_Store
node_modules/
examples/
packages/
public/
vue.config.js
babel.config.js
*.map
*.html
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw*
  • 发布代码
# 普通包
 $ npm publish
 # 私域包
 # 包名:@username/packageName
 # username 必须为当前登录的用户名,必须一致,否则会报错,然后加上参数 --access public
 $ npm publish --access public


相关文章
|
2月前
|
JavaScript 安全 测试技术
vue封装组件发布到Npm
【10月更文挑战第17天】
|
2月前
|
资源调度 前端开发 安全
前端实战:基于Verdaccio搭建私有npm仓库,轻松上传与下载自定义npm插件包
前端实战:基于Verdaccio搭建私有npm仓库,轻松上传与下载自定义npm插件包
99 0
|
3月前
|
JavaScript
使用npm,快速构建第一个vue项目
本文介绍了如何使用npm快速构建第一个Vue项目。步骤包括确保安装了Node.js并且配置了正确的环境变量,创建一个空文件夹并使用VSCode打开,通过VSCode的终端执行`npm init vue@latest`命令以初始化项目,选择默认配置即可。接着安装项目依赖并启动开发服务器,最后通过浏览器访问开发服务器提供的本地地址查看项目运行结果。文章还提供了相关代码和操作截图。
|
3月前
|
缓存 JavaScript 前端开发
8种方法解决vue创建项目报错:command failed: npm install --loglevel error
该文章提供了八种解决Vue项目创建时遇到的`command failed: npm install --loglevel error`错误的方法,包括清理缓存、更换npm源、重新安装Node.js等措施。
8种方法解决vue创建项目报错:command failed: npm install --loglevel error
|
4月前
|
缓存
成功解决:Could not resolve dependency: npm ERR! peer vue@“^3.0.2“ from vuex@4.0.2
这篇文章讨论了在使用npm安装依赖时遇到的一个常见问题,即无法解析依赖导致的"peer dependency"冲突错误。文章提供了几种解决方法,包括清除npm缓存、删除`node_modules`文件夹和`package-lock.json`文件,然后重新尝试安装,以解决版本冲突问题。
|
6月前
使用npm构建vite+vue+ts项目的两种方式
使用npm构建vite+vue+ts项目的两种方式
127 0
使用npm构建vite+vue+ts项目的两种方式
|
5月前
|
JavaScript 开发工具
支付系统----微信支付22------初始化Vue项目,npm run serve -- -- port 8888,Vue默认打开是8888的写法
支付系统----微信支付22------初始化Vue项目,npm run serve -- -- port 8888,Vue默认打开是8888的写法
|
5月前
|
JavaScript
【解决方案】vue 项目 npm run dev 时报错:‘cross-env‘ 不是内部或外部命令,也不是可运行的程序
【解决方案】vue 项目 npm run dev 时报错:‘cross-env‘ 不是内部或外部命令,也不是可运行的程序
458 0
|
6月前
|
JavaScript
vue : 无法加载文件 D:\module\npm_module\npm_modules\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.c
vue : 无法加载文件 D:\module\npm_module\npm_modules\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.c
|
6月前
|
JavaScript
vue npm install安装插件请求github过慢问题
vue npm install安装插件请求github过慢问题
91 0

推荐镜像

更多