发布一个npm包和命令行脚本

简介: 发布一个npm包和命令行脚本

1、注册账号

https://www.npmjs.com/


2、初始化npm项目


npm init

目录结构


├── index.js
└── package.json

3、项目配置

package.json
{
  "name": "2020ooxx",
  "version": "1.0.5",
  "description": "a demo package",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "mouday",
  "license": "ISC",
  "dependencies": {
  }
}

配置参数

https://docs.npmjs.com/files/package.json


常用参数


main:程序的入口文件,默认是index.js
devDependencies: 所依赖的开发环境下的包
dependencies:所依赖的线上环境下的包
repository: 代码存放地址(一般是git地址)
keywords:npm 包关键词

4、模块开发

index.js

function hello() {
    console.log("hello");
}
// 导出模块
module.exports.hello = hello

5、登录发布


# 检查npm源
npm config get registry
# 如过不是下面的地址需要设置
npm config set registry https://registry.npmjs.org
# 登录
npm adduser
# 发包
npm publish

6、安装测试

npm i 2020ooxx

demo.js


// 使用示例
// var ooxx = require("./index")
var ooxx = require("2020ooxx")
ooxx.hello();
// hello

7、命令行工具

bin/index.js


#!/usr/bin/env node
console.log("hi");

注意:不能缺少#!/usr/bin/env node


修改package.json

{
  "bin": {
    "my-cli": "bin/index.js"
  }
}

本地调试


$ npm link
$ my-cli
# hi

调试完成后可以发布

相关文章
|
2天前
|
前端开发 小程序 API
【微信小程序】-- 使用 npm 包 - API Promise化(四十二)
【微信小程序】-- 使用 npm 包 - API Promise化(四十二)
|
2天前
|
资源调度 小程序 前端开发
【微信小程序】-- 使用 npm 包 - Vant Weapp(四十一)
【微信小程序】-- 使用 npm 包 - Vant Weapp(四十一)
|
2天前
|
JavaScript Linux 数据安全/隐私保护
node内网安装npm私服以及依赖包上传发布verdaccio
node内网安装npm私服以及依赖包上传发布verdaccio
110 1
|
2天前
|
资源调度 小程序 前端开发
【微信小程序】-- npm包总结 --- 基础篇完结(四十七)
【微信小程序】-- npm包总结 --- 基础篇完结(四十七)
|
2天前
|
缓存
发布第一个npm包的过程记录
发布第一个npm包的过程记录
12 0
|
2天前
|
Windows
vscode 终端无法执行npm、cnpm命令的解决办法,npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试
vscode 终端无法执行npm、cnpm命令的解决办法,npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试
55 0
|
2天前
|
小程序 开发工具 开发者
【微信小程序】微信开发者工具 引用 vant-weapp时“miniprogram/node_modules/@babel/runtime/index.js: 未找到npm包入口文件” 解决办法
【微信小程序】微信开发者工具 引用 vant-weapp时“miniprogram/node_modules/@babel/runtime/index.js: 未找到npm包入口文件” 解决办法
29 1
message: 没有找到可以构建的 NPM 包,请确认需要参与构建的 npm 都在 `miniprogra
message: 没有找到可以构建的 NPM 包,请确认需要参与构建的 npm 都在 `miniprogra
|
2天前
|
存储 缓存 资源调度
ES Module使用-原理-包管理工具npm(二)
ES Module使用-原理-包管理工具npm
72 0
|
2天前
|
JSON 资源调度 JavaScript
ES Module使用-原理-包管理工具npm(一)
ES Module使用-原理-包管理工具npm
76 0
ES Module使用-原理-包管理工具npm(一)

推荐镜像

更多