【Node.js】Node.js

Node.js

Node 是一个让 JavaScript 运行在服务端的开发平台(让前端项目独立运行在服务端),它让 JavaScript 成为与 PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。 发布于2009年5月,由 Ryan Dahl 开发,实质是对 Chrome V8 引擎进行了封装。

简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台。底层架构是:javascript。 文件后缀:.js

前后端分离项目中的前端项目通常基于 Node.js 开发,使得前端项目能独立部署在服务器端(而不像后端程序需要 Tomcat 来部署)

Node.js 是脱离浏览器环境运行的 JavaScript 程序

Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境,基于 Google 的 V8 引擎,V8 引擎执行Javascript 的速度非常快,性能非常好。

img

下载地址:https://nodejs.org/zh-cn/download

如果想开发更复杂的基于 Node.js 的应用程序后台,需要进一步学习 Node.js 的 Web 开发相关框架 express,art-template、koa等。

Node.js 实现请求响应

  1. 创建 httpserver.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 导入模块是require 就类似于import java.io 
const http = require('http');
// 1: 创建一个httpserver服务
http.createServer(function(request,response){
// 浏览器怎么认识hello server!!!
response.writeHead(200,{'Content-type':'text/plain'}); //这句话的含义是:告诉浏览器将
// 以text-plain去解析hello server 这段数据。
// 给浏览器输出内容
response.end("<strong>hello server!!!</strong>");
}).listen(8888);
console.log("你启动的服务是:http://localhpst:8888以启动成功!!");
// 2: 监听一端口8888
// 3: 启动运行服务 node httpserver.js
// 4: 在浏览器访问http://localhost:8888
  1. 运行服务器程序
1
node httpserver.js
  1. 服务器启动成功后,在浏览器中输入:http://localhost:8888/ 查看webserver成功运行,并输出html页面

Node.js 操作 MySQL 数据库

  1. 安装 mysql 依赖
1
npm install mysql
  1. 创建 db.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//1: 导入mysql依赖包,  mysql属于第三方的模块就类似于 java.sql一样的道理
var mysql = require("mysql");
// 1: 创建一个mysql的Connection对象
// 2: 配置数据连接的信息
var connection =mysql.createConnection({
host:"127.0.0.1",
port:3306,
user:"root",
password:"mkxiaoer",
database:"testdb"
});
// 3:开辟连接
connection.connect();
// 4: 执行curd
connection.query("select * from kss_user",function(error,results,fields){
// 如果查询出错,直接抛出
if(error)throw error;
// 查询成功
console.log("results = ",results);
});
// 5: 关闭连接
connection.end();
// 最后一步:运行node db.js 查看效果
  1. 运行 db.js
1
node db

NPM 包管理器

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

NPM 全称 Node Package Manager,是 Node.js 的包管理工具,相当于前端的 Maven。它是全球最大的模块生态系统,里面所有的模块都是开源免费的;也是 Node.js 的包管理工具。

常用命令

  1. 下载 cpnm(使用淘宝镜像)
1
npm install -g cnpm --registry=https://registry.npm.taobao.org
  1. 项目初始化(将生成一个 package.json 文件)
1
2
3
4
5
# 建立一个空文件夹,在命令提示符进入该文件夹,执行命令初始化
npm init

# 如果想直接生成 package.json 文件,那么可以使用命令
npm init -y
  1. 在当前项目下安装依赖包
1
2
3
4
5
6
7
# 模块安装的位置:项目目录\node_module
# 会自动在项目目录下添加 package-lock.json文件,这个文件帮助锁定安装包的版本
# 同时package.json 文件中,依赖包会被添加到dependencies节点下,类似maven中的 <dependencies>
npm install jquery

# 如果安装时想指定特定的版本
npm install jquery@2.1.x
  1. 全局安装依赖包
1
2
3
# Node.js全局安装的npm包和工具的位置:用户目录\AppData\Roaming\npm\node_modules
# 一些命令行工具常使用全局安装的方式
npm install -g webpack
  1. 更新依赖包
1
2
3
4
5
# 仅更新当前项目的依赖包(更新到最新版本)
npm update 包名

# 全局更新
npm update -g 包名
  1. 卸载包
1
2
3
4
5
# 仅卸载本地依赖包
npm uninstall 包名

# 全局卸载
npm uninstall -g 包名
  1. 启动项目
1
npm run dev
  1. 打包项目
1
npm run build

安装了 cnpm 后即可使用 cnpm 代替 npm

Babel

ES6 的某些高级语法在浏览器环境甚至是 Node.js 环境中无法执行。Babel 是一个广泛使用的转码器,可以将 ES6 代码转为 ES5 代码,从而在现有环境执行执行。这意味着,你可以现在就用 ES6 编写程序,而不用担心现有环境是否支持。

安装 Babel:

1
2
3
4
npm install -g babel-cli

# 查看是否安装成功
babel --version

使用方法参考博客 https://www.kuangstudy.com/bbs/1351463043300708353

Webpack

Webpack:前端工程打包工具

Webpack 是一个前端资源加载/打包工具。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。

从图中我们可以看出,Webpack 可以将多种静态资源 js、css、less 转换成一个静态文件,减少了页面的请求。

img

  1. 全局安装
1
npm install -g webpack webpack-cli
  1. 安装后查看版本号
1
webpack -v

使用方法参考博客 https://www.kuangstudy.com/bbs/1351463043300708353