一、相关 package.json 介绍

返回目录

{
  "name": "xxx", //项目名称
  "version": "0.1.0", //版本
  "main": "index.js", // 入口文件
  "description": "npm demo", //项目描述
  "license": "GPL-3.0", //开源许可
    "author": { //作者信息
    "name": "wwwmewww" //名字
  },
  "keywords": [ //关键字,便于在 npm 上搜索到
    "js",
  ],
  "repository": { //仓库地址,本人仓库啥也没有
    "type": "git",
    "url": "git+https://github.com/wwwmewww/xxx.git"
  },
  "bugs": { //bug提交地址
    "url": "https://github.com/wwwmewww/xxx/issues"
  },
  "homepage": "https://github.com/wwwmewww/xxx#readme", //主页
}

编写在文件中引用的包

返回目录

  1. 包的入口文件
    //index.js
    module.exports = function(){
      console.log('hello');
    }
    
  2. 配置 package.json
    //package.json
    {
    	"main": "index.js", // 配置好入口文件
    }
    
  3. 引用并执行包
    const mypack = require('mypack');
    mypack(); //执行包,输出:hello
    

编写能用命令行执行的包

返回目录

  1. 包的入口文件 index.js
    #!/usr/bin/env node
    console.log('hello world')
    
  2. 配置 package.json
    {
    	"bin": {
    	  "my-cli": "./index.js"
    	}
    }
    
  3. 用 npm link 测试
    $ npm link #成功之后就可以执行 my-cli 命令
    $ my-cli #运行 就能看见 hello world 输出
    
    如果执行 npm link 报错,可以把 npm_global 目录下的相关的文件都删掉再试

3. 推荐包

返回目录

包名说明
commander处理命令行参数
inquirer处理命令行交互
chalk改变命令行输出颜色
cross-spawnNode.js 的子进程(child_process)模块下有一 spawn 函数的跨平台写法
envinfo输出环境信息
fs-extrafs的扩展库
hyperquest将http请求转化为流输出
semver版本格式化和计算的库
tar-pack压缩和解压
tmp用户临时文件资源的管理,可用 tmp-promise 代替
validate-npm-package-name检查package的name是否合法

参考链接

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐