一、相关 package.json 介绍
返回目录
{
"name": "xxx",
"version": "0.1.0",
"main": "index.js",
"description": "npm demo",
"license": "GPL-3.0",
"author": {
"name": "wwwmewww"
},
"keywords": [
"js",
],
"repository": {
"type": "git",
"url": "git+https://github.com/wwwmewww/xxx.git"
},
"bugs": {
"url": "https://github.com/wwwmewww/xxx/issues"
},
"homepage": "https://github.com/wwwmewww/xxx#readme",
}
编写在文件中引用的包
返回目录
- 包的入口文件
module.exports = function(){
console.log('hello');
}
- 配置 package.json
{
"main": "index.js",
}
- 引用并执行包
const mypack = require('mypack');
mypack();
编写能用命令行执行的包
返回目录
- 包的入口文件 index.js
#!/usr/bin/env node
console.log('hello world')
- 配置 package.json
{
"bin": {
"my-cli": "./index.js"
}
}
- 用 npm link 测试
$ npm link
$ my-cli
如果执行 npm link 报错,可以把 npm_global 目录下的相关的文件都删掉再试
3. 推荐包
返回目录
包名 | 说明 |
---|
commander | 处理命令行参数 |
inquirer | 处理命令行交互 |
chalk | 改变命令行输出颜色 |
cross-spawn | Node.js 的子进程(child_process)模块下有一 spawn 函数的跨平台写法 |
envinfo | 输出环境信息 |
fs-extra | fs的扩展库 |
hyperquest | 将http请求转化为流输出 |
semver | 版本格式化和计算的库 |
tar-pack | 压缩和解压 |
tmp | 用户临时文件资源的管理,可用 tmp-promise 代替 |
validate-npm-package-name | 检查package的name是否合法 |
参考链接