Node 简介
客户端的JavaScript是怎样的
-
什么是 JavaScript?
- 是一个脚本语言
- 运行在浏览器(浏览器的js解析内核 v8)
- 实现用户的交互 (interactive)
JavaScript 的运行环境?
+浏览器内核解析内核 es6-
浏览器中的 JavaScript 可以做什么?
- 变量 赋值 循环 逻辑 判断 分支 对象 函数。。。。
- dom 操作
- bom 操作
- ajax
-
浏览器中的 JavaScript 不可以做什么?(不安全)
- 访问数据库
- 不能对文件进行操作
- 对os 进行操作
- 原因 是不安全 和浏览器运行机制有关
客户端运行的node可以做的事情正好和js互补
-
它们之间的不同是由于运行环境的不同造成的
- 因为都有chrome v8 引擎,所有它们都能对基础变量 for 循环之类的操作,
- js里因为运行在浏览器上,浏览器提供了基于浏览器的内核解析器,使得js可以对css/html/bom/dom/进行操作。node里内置的
- node内置的libuv,可以是它能够操作内置模块/操作文件/操作数据库等。
-
在开发人员能力相同的情况下编程语言的能力取决于什么?
取决于运行环境,运行环境赋予了它不同的能力。- cordova hbuilder 平台 platform
- java java虚拟机 (运行平台)
- php php虚拟机
- c# .net framework mono
- js 解析内核 chrome v8
JavaScript 只可以运行在浏览器中吗?
+不是
为什么是JavaScript
- node js 不是因为js 产生的
- node 选择了js
- Ryan dahl
- 2009 2 月份 node有想法
- 2009 5 月份 githup 开源
- 2009 11月份 jsconf 讲解推广node
- 2010年底 被xxx公司收购
- 2018 发布有重大bug
- npm
- githup 世界上最大的同性交友网站 码云
what is node ?
- Node.js 是一个基于Chrome V8 引擎的JavaScript运行环境
- Node.js使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效
- 非阻塞的i(input 输入)/o(output 输出)模型: 一般情况下 io操作都是阻塞的(网络请求/文件操作/数据库操作。。。)。node通过异步回调来使i/o操作变成非阻塞(所以很多情况下node的操作都是异步的。)
- Node.js的包管理工具npm,是全球最大的开源库生态系统
- 官网 http://nodejs.cn/
- npm 插件官网:https://www.npmjs.com/
环境配置
Node的安装
-
安装包安装
- 官网下载对应的安装包
- 一路next
- 出现node不是内部命令问题(解决方式)
- 软件的安装目录地址复制
- 点击此电脑右键属性高级设置
- 环境变量
- 系统变量
- path
- 编辑文本 把1复制目录复制过去。
-
nvm安装(有一个类似的工具:n)
Node Version Manager(Node版本管理工具)
由于以后的开发工作可能会在多个Node版本中测试,而且Node的版本也比较多,所以需要这么款工具来管理
基本命令 nvm -v 查看版本号 nvm list 查看node版本列表 nvm install 版本号 安装node版本 nvm uninstall 版本号 卸载node版本 nvm use 版本号 切换node版本
npm(node 的包管理工具,用来安装包/插件)
初始化项目
npm init
npm init --yes
下载包
npm install jquery --save-dev 下载开发依赖(如果是只在开发中使用就下啊在开发依赖) 开发环境
npm install swiper --save 下载生产依赖 (如果上线也要用到这个包就装生产依赖) 上线环境
npm install 包名字 默认生产依赖
npm install jquery@2.7.0 指定版本下载
删除包
npm uninstall 包名
(所有包的都在仓库里。npm是在仓库中下载插件的)
查看镜像源
npm config get registry
切换淘宝镜像源
npm config set registry 加上淘宝镜像的连接地址 https://registry.npm.taobao.org
npm 使用入门
安装:无需安装
查看当前版本:
$ npm -v
更新:
$ npm install npm@latest -g
初始化工程
$ npm init
$ npm init --yes 默认配置
安装包
使用npm install会读取package.json文件来安装模块。安装的模块分为两类
dependencies和devDependencies,分别对应生产环境需要的安装包和开发环境需要的安装包。
$ npm install
$ npm install <package_name>
$ npm install <package_name> --save
$ npm install <package_name> --save-dev
更新模块
$ npm update
卸载模块
$ npm uninstall <package_name>
$ npm uninstall --save lodash
配置npm源
-
临时使用, 安装包的时候通过--registry参数即可(不推荐)
$ npm install express --registry https://registry.npm.taobao.org
全局使用
$ npm config set registry https://registry.npm.taobao.org
// 配置后可通过下面方式来验证是否成功
npm config get registry
// 或
npm info express
- cnpm 使用
// 安装cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org // 使用cnpm安装包 cnpm install express