NodeJS基本使用简介

182 阅读4分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第5天,点击查看活动详情

一、什么是Node?

不是JS文件,也不是一个JS框架
而是Server side Javascript runtime, 服务端的一个JS运行环境
我们可以在NODE运行JS代码
node中只能运行ECMAScript,无法使用 BOM 和 DOM
目前我们的JS是运行在浏览器内核中
就像PHP,是一门脚本语言,它的运行环境就叫PHP,以及java的JDK。
说到底就是一个JS运行环境

服务端的环境

  • 比如www.xxx.com/index.php,发送到服务器,如果没有php运行时,等于只是把这个文件下载下来。
  • 有了服务端环境则会把这个文件执行完了再返回给你。
  • node则是执行js文件的服务器环境。
  • 采用了chromeV8引擎
  • 在此基础上还包裹了一层api,可以进行文件、网络等操作

版本更迭

Node.js 刚出现的时候, 官方版本 要求尽善尽美,所以更新的很慢。
IO.js 是社区的产物,不是官方的东西,io.js有很多新特性,迭代非常快,社区推进非常快。
15年两者合并,发布node第一个正式版 4.0, 更新速度又慢了。
现在的node社区非常火爆,可以说身为一个合格的前端必须掌握node。

二、Node环境搭建

Mac

Windows

下载后最好放到纯英文路径,然后一直下一步就好了。

1、Nvm(可选)

  • NVM(Node Version Manager)

  • 用于管理node包,现在可能用得少了,需要的了解一下。
  • 因为NODE版本比较多,开发人员可能依赖很多版本
  • 通过NVM,可以轻松切换于不同的版本之间
  • 首先下载nvm的包,放到全英文路径。(推荐C盘)
  • 不要点nvm.exe,找到setting.txt,打开。
`root: C:\Develop\nvm`
`path: C:\Develop\nodejs`
`arch: 64`
`proxy: none`
  • 把root中的路径换成你nvm安装位置的路径。
  • path的路径和root保持一致,最后写成nodejs
  • 在nvm文件夹,shift+右键,cmd命令行中输入
  • nvm(回车)
  • 会出现版本信息,以及一些命令提示
如果出错

删掉setting.txt,管理员权限运行install.cmd,会弹出一个命令行。 将nvm文件的路径复制到后面(回车) 会新建一个setting.txt文件,内容还是上面一样,如果不是,就挨个填上。 如果还是没有,重复如上步骤。 如果死都不行,往下看环境变量配置。

环境变量

  • 环境变量就是操作系统提供的系统级别用于存储变量的地方
  • 系统变量和用户变量
    • 系统变量指的是所用当前系统用户共享的变量
    • 自己的电脑一般只有一个用户
    • 建议将自己配置的环境变量放在用户变量中,用户变量比较干净
  • 环境变量的变量名是不区分大小写的
  • 变量间运行相互引用
  • 特殊值:
    • PATH变量(不区分大小写)
    • PATH 相当于一个路径的引用
  • 只要添加到PATH变量中的路径,都可以在任何目录下搜索
 环境变量配置,把这三个变量放到用户变量的path里面,注意分号分割。

NVM_HOME=C:\Develop\nvm
$NVM_SYMLINK=C:\Develop\nodejs
NPM_HOME=C:\Develop\nvm\npm
%里面的就是变量名称%
PATH=%NVM_HOME%;%NVM_SYMLINK%;%NPM_HOME%
我是放在C盘的Develop文件夹中,请视情况配置路径。
##### 确保你有setting.txt文件,接下来继续。
-   使用命令行操作nvm

nvmuse你的node版本//该命令让你选择一个node版本进行使用,会有个nodejs快捷方式在nvm文件夹中。//表示使用哪个版本的nodenvm use 你的node版本 //该命令让你选择一个node版本进行使用,会有个nodejs快捷方式在nvm文件夹中。 //表示使用哪个版本的node nvm ls //显示你所有的node版本

## 当然,如果你上面的始终搞不定并不影响你使用。
**进入主题**
### 2. Node.js使用介绍
通过上面的安装,可以在命令行中输入

nodev//查看当前使用的node版本,装了nvm的话,记住是在nvmuse之后操作。node -v //查看当前使用的node版本,装了nvm的话,记住是在nvm use之后操作。 npm -v //查看当前npm的使用版本


### 2.1 Node用途

0.  开发Web应用程序

-   做动态网站
-   开发提供数据的服务端API

2.  前端开发工具基础
-   Node.js给前端乃至整个开发行业带来一场工业革命
-   demo

//打开cmd,输入 $ node(回车) //进入js的REPL环境,下面就可以写js代码了,试试 console.log("hello world")

-   当然我们肯定是在IDE中把代码写好,然后用node执行。(就像java)。
-   打开cmd,cd到你写的js文件目录。通过node +文件名执行

$ node 文件名

// 可以用来创建一个HTTP服务器
var http = require('http');

// 创建一个服务
var server = http.createServer(function(request, response) {
  // // 只要有人来了就会执行此函数
  // console.log(request.url);
  // // 处理请求和响应
  // response.writeHead(200, {
  //   'Content-Type': 'text/html', // 告诉客户端我给你的是HTML
  //   'key1': 'value1'
  // });
  // // 往响应体中放数据(只能是字符串)
  // response.write('<h1>HAHAHA</h1>');
  // response.end(); // 结束了回去吧
});
// 启动服务
server.listen(8080, function(error) {
  console.log('成功监听8080端口');
});
  • 就是用了一些node的api,可以监听8080端口。(不用看懂,只是体验)
  • Node.js是一个轻内核(本身没有什么功能)的东东,所有的功能都要功能包提供
  • node官方提供了一些最基础的包,通过npm来下载
  • npm下载来的包统一放在一个文件中方便管理,可以给这个路径也加上环境变量,就可以全盘使用了。

3. Npm

什么是NPM

www.npmjs.com/

  • Node Package Manager
  • Node应用程序依赖包的管理工具
  • 具有安装卸载更新之类的操作

为什么使用NPM

  • 官方+民间包,前端使用的所有包 很多
  • 场景:我需要用一个A,A依赖B,B依赖C (bootstrap==>jQuery)
  • 常见的包管理工具都有循环依赖的功能
  • 你只需记住你要什么东西

常见的NPM操作

// 安装一个包,默认安装最新稳定版本

$ npm install 包/库的名字    //安装一个包或库,默认最新稳定版

//如果你要下特定版本的库   
$ npm install 包/库的名字@1.1.2 //@+版本号

$ npm install 包/库的名字 --save    
//将这个包的名字保存到package.json中的dependencies中,表示生产阶段
//别人拿到你的项目后通过npm install就可以下载项目中依赖的所有包
$ npm install 包/库的名字 --save--dev
//表示开发阶段用的包

// 初始化操作,给项目添加一个配置文件

$ npm init 
//会问你一些问题,按着提示写,完了会生成package,json文件

$ npm init --yes
// --yes参数走默认配置
//省的填了
  • 更多的操作看官网