node.js 使用参考


一、安装 node

返回目录

  1. nodejs官网下载,安装到 E:\nodejs\
  2. 在安装目录下新建“npm_cache”,“npm_global”两个文件夹
  3. 修改npm配置到新建的两个文件夹,在控制台下运行
    $ npm config set prefix E:\nodejs\npm_global
    $ npm config set cache E:\nodejs\npm_cache
    
  4. 设置环境变量
    • 新建 NODE_HOME 环境变量,值为安装目录 E:\nodejs
    • 在 path 下新增 %NODE_HOME%;%NODE_HOME%\npm_global
  5. 安装 npm 镜像管理包 nrm
    $ npm config set registry https://registry.npm.taobao.org #直接设置淘宝镜像
    $ npm i -g nrm #安装 nrm
    $ nrm use npm #切换回 npm 官方镜像,用于上传自己开发的包
    $ nrm use taobao #切换到 淘宝镜像 用于安装包用,超快
    
  6. 安装 node 版本管理包 nvm, 点击下载nvm,安装既可,有需要的安装。
  7. 查看 全局安装过的包
    $ npm ls -g --depth 0 #去掉 -g 查看当前目录安装过的包,参数 depth 为查看深度
    

二、创建 node 开发环境

返回目录

  1. 初始化
    $ mkdir node_demo #新建文件夹
    $ cd node_demo #进入文件夹
    $ npm init -y #初始化,并生成package.json 文件
    

  1. 安装包
    $ npm i -g xxx #全局安装,i 为 install 缩写
    $ npm i -D xxx #当前目录,开发环境安装,最新为 --save-dev
    $ npm i -S xxx #当前目录,上线环境安装,最新为 --save-prod
    $ npm i #当前目录,安装 package.json 中的所有包
    $ npm i --prod #当前目录,只安装 package.json 中上线环境的包
    

三、发布 npm 包

1. npm 包发布命令

返回目录

  1. npm网站注册账户。也可以在命令行注册。注意:必须在官方镜像上操作
    $ npm adduser #注册帐号,如有账户略过
    $ Username: #输入用户名
    $ Password: #输入密码
    $ Email: (this IS public) #输入公开的电子邮箱
    
  2. 登录 npm 账户,必须在官方镜像上操作
    $ npm login #登录账户
    $ Username: #输入用户名
    $ Password: #输入密码
    $ Email: (this IS public) #输入电子邮箱
    
  3. 发布,必须在官方镜像上操作
    $ npm publish
    
  4. 撤回发布,好像只能撤回24小时之内发布的包
    $ npm unpublish #撤回发布
    $ npm unpublish --force #强制撤回
    

2. npm 包发布流程

相关 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-spawn Node.js 的子进程(child_process)模块下有一 spawn 函数的跨平台写法
envinfo 输出环境信息
fs-extra fs的扩展库
hyperquest 将http请求转化为流输出
semver 版本格式化和计算的库
tar-pack 压缩和解压
tmp 用户临时文件资源的管理,可用 tmp-promise 代替
validate-npm-package-name 检查package的name是否合法

参考链接

发布了33 篇原创文章 · 获赞 2 · 访问量 2009

猜你喜欢

转载自blog.csdn.net/wwwmewww/article/details/103134134