nodejs-npm包管理

简介

官网:nodejs.org

打开应用

  • 打开终端:cmd
  • 打开画图:mspaint
  • 打开计算器:calc
  • 写字板:whrite
  • 打开环境变量:sysdm.cpl

node是什么?

  • Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

    • Node.js不是一门语言
    • Node.js不是库,不是框架
    • Node.JS是一个javascript运行时环境
    • 简单点绛就是Node.js可以解析和执行Javascript代码
    • 以前只有浏览器哦可以解析执行Javascript代码
    • 也就是说现在的Javascript可以完全脱离浏览器来运行,一切都归功于:Node.js
  • 浏览器中的Javascript

    • ECMAScript

      • 基本语法
      • if
      • var
      • function
      • object
      • array
    • BOM

    • DOM

  • Node.js中的javascript

    • 没有BOM,DOM

    • ECMAScript

    • 在Node这个Javascript执行环境中为javascript提供了一些服务器级别的操作API

      • 例如无监督协
      • 网络服务的构建
      • 网络通信
      • http服务器
      • 等处理...
  • Node.js uses an event-driven(事件驱动),non-blocking I/O modal(非阻塞IO模型(异步)) that makes it lightweight and efficient(轻量更高效)

  • Node.js package ecosystem,npm,is the largest ecosystem of open source libraries in the world.

    • npm 是世界上最大的开源库生态系统绝大多数的Javascript相关的包都存放在npm上,这样做的亩的是为了让开发人员更方便的去下载使用
    • npm install jquery

Node.js能做什么

  • web服务器后台

  • 命令行工具(不一定基于nodejs开发的)

    • npm(基于nodejs)
    • git(基于c语言)
    • hexo(基于nodejs)
    • ...
  • 对于前端开发工程师来讲,解除node最多的就是他的命令行工具

    • 自己写的很少,主要是是用别人第三方的
    • webpack
    • gulp
    • npm

简单的命令行操作

  • d:到d盘
  • cd 到当前目录
  • cd.. 返回到上一级
  • md(mkdir) 创建文件夹
  • rd 删除文件夹
  • dir 列出目录
  • ctrl+c 取消当前命令
  • space+↑ 上一个命令 space+↓ 下一个命令

资源

中文社区:https://cnodejs.org/

中文新手入门:https://cnodejs.org/getstart

电子书入门:https://www.nodebeginner.org/index-zh-cn.html

中文文档:http://nodeclass.com/api/node.html

官网api:https://nodejs.org/dist/latest-v6.x/docs/api/

开发环境准备

1、普通安装方式

官网:https://nodejs.org/en/

开发选择稳定版本

安装完检查是否安装好,查看版本号:node -v(--version)

2、多版本安装方式

  • 卸载已有的nodejs
  • nvm常用命令

3、修改npm全局安装包的目录

全局安装包的默认路径是在c盘user里边,务必改掉,以防c盘过满

  1. 找到安装nodejs的地方,新建一个global文件夹,用来放所有用npm安装的全局的包
  2. 打开Node.js Command prompt,执行npm config ls
  3. 修改prefix的值:npm config set prefix "你的路径"

4、卸载nodejs

参考:https://www.cnblogs.com/fighxp/p/7410235.html

node常用

1、使用node执行js脚本文件

  1. 创建编写脚本文件
  2. 打开终端,定位到脚本文件所在目录
  3. 输入node 文件名执行对应的文件
  4. 在该js中输出window和document,发现没有bom和dom

注意:

不要使用node.js命名文件,这样会变成打开文件

不要使用中文

IP地址用来定位计算机,

端口号用来定位具体的应用程序

REPL read-eval-print-loop:读取-执行-打印-循环这个过程

执行node后,功能类似于浏览器的console面板。

npm包管理

全球最大的模块生态系统,里边所有的模块都是开源免费的,所有的js的插件,工具等

是nodejs的包管理工具,用来安装东西

官网:https://www.npmjs.com/

nrm

镜像

原来包刚一开始是只存在于国外的NPM服务器,但是由于网络原因,经常访问不到,这时候,我们可以在国内,创建一个和官网完全一样的NPM服务器,只不过,数据都是从人家那里拿过来的,除此之外,使用方式完全一样;

  • taobao镜像
  • cnpm镜像

作用:

  • 提供了一些最常用的NPM包镜像地址
  • 快速的切换安装包时候的服务器地址

常用命令:

  • npm install -g nrm:安装
  • nrm ls 查看当前所有可用的镜像源地址以及当前所使用的镜像源地址
  • nrm use npmnrm use taobao切换不同的镜像源地址(并不是安装,安装还要install)
  npm ---- https://registry.npmjs.org/  此国外地址,以下都是copy的国外地址上的放在国内,
* cnpm --- http://r.cnpmjs.org/
  taobao - https://registry.npm.taobao.org/
  nj ----- https://registry.nodejitsu.com/
  rednpm - http://registry.mirror.cqupt.edu.cn/
  npmMirror  https://skimdb.npmjs.com/registry/
  edunpm - http://registry.enpmjs.org/

注意:

nrm只是提供了几个常用的下载包地址,并能够让我们在这几个地址之间进行很方便的切换,但是,我们每次装包的时候,。使用的‘装包工具,都是npm

例如安装cnpm:

  1. 选择地址:nrm use cnpm
  2. 安装cnpm:npm install -g cnpm

npm常用的命令

全局安装 -g

本地安装

1、安装包

npm install -g 包名称(全局安装)

npm install 包名称(局部安装)

2、指定版本安装时

npm install -g 包名称@版本号

如果没有指定版本号,name安装最新版本

3、卸载包

npm uninstall -g 包名

4、更新包(到最新版本)

npm update -g 包名(此方法不太好用)

示例:

es-checker:检测node对es6的兼容情况

i5ting_doc:把md文件转为目录树的网页

生成本地包

本地安装的包在当前目录下的node_moudules里面,本地安装的包一般用于实际的开发

方法一:到文件当前地址,npm init,一步一步填写生成包

方法二:到文件当前地址,npm init -y一次性生成带有默认值的包

生成后,当前文件夹下会有一个package.json的文件,这个就是包的配置文件

执行包

方法一:node . 命令:会执行main中指向的文件

方法二:npm run 名(package.json中的scripts对象的属性名)

示例:安装art-template

安装一个前后端通用的框架:art-template

1、在demo文件夹下安装一个局部的, install art-template@4.8.2(一个旧的版本)

2、回车后该文件夹下回生成一个node_moudules文件(因为art-template依赖该包),在node_moudules文件中可以找到art-template,看该包的package.json文件可以知道其版本号 为4.8.2

3、更新该版本到最新版本:install art-template@latest(update 不太好用)回车,在查看该版本号

添加依赖

生产环境:项目部署上线后的服务器环境

生产环境:平时开发使用的环境环境

--save :向生产环境添加依赖 dependencies

--save-dev:向开发环境添加依赖 DevDependencies

npm install

  • 在发布的时候,node—modules是不会发布进去的,因为太大不利于上传
  • 所有该项目需要的依赖都会记录在package.json中,
  • 使用的时候,直接 npm install就可以一次性把package.json里边的所有依赖都安装好

yarn

npm的性能不是太好

安装yarn:npm install -g yarn

npmyarn
初始化npm inityarn init
安装包npm install xxx --saveyarn add xxx
移除包npm uninstall xxxyarn remove xxx
更新包npm update xxxyarn upgrade
安装开发以来的包npm install xxx ---save-devyarn add
全局安装npm install -g xxxyarn global add xxx
设置下载镜像的地址npm config set registry urlyarn config set registry url
安装所有依赖npm installyarn install
执行包npm runyarn run

动手:

  1. 安装less(less转css)

    1. 、命令行安装:npm install –g less
    2. Lessc –v 查看版本 是否安装成功
    3. lessc test.less test.css,编译成css
  2. 安装typescript(es6转es5)

xxxxxxxxxx
npm -v //检查你电脑是否安装了node,是否有npm
npm install -g typescript //全局安装typescript
tsc -v//检查tsc(typescript简写)的版本号看是否安装好

新建ts文件 test.ts

命令行找到ts文件位置,执行下面命令,就会发现js文件自动生成了

xxxxxxxxxx
tsc test.ts

模块的导入和导出

exports

module.exports