1.任务
2.快速入门-hello world
3.Node - 实现请求响应
httpserver.js案例
代码如下:
const http = require("http");
http.createServer(function(request,response){
// response.writeHead(200,{"Content-type":"text/plain;charset=utf8"});
/*
* ctrl + c 结束服务
* res.end 在网页端输出乱码,则需修改 charset=utf8即可
*/
response.writeHead(200,{"Content-type":"text/html;charset=utf8"});
// response.end("我现在是纯文本文字");
response.end("<strong>我现在是带有标签的文字</strong>");
}).listen(8080);
console.log("启动的服务是:http://localhost:8080");
4.Node - 操作Mysql数据库
代码如下:
var mysql = require("mysql");
var connection = mysql.createConnection({
host:"localhost",
port:3306,
user: "root",
password: "",
database: "nodejs_test_data"
})
connection.connect();
connection.query("select * from user",function(error,results,fields){
if (error)throw error;
console.log("select * from user查询的结果为",results);
});
connection.end;
5.ES6的语法
①let和const的认识
let定义变量 const定义常量
for(var i=0;i<5;i++){
console.log(i);
}
console.log("这是最后一个输出值",i);
var PI2 = Math.PI;
PI2 = 99;
console.log("PI2 =",PI2);
console.log("-----------------------");
//ES6语法
for(let j=0;j<5;j++){
console.log(j);
}
// const PI = Math.PI;
// PI=100;
// console.log("PI=",PI);
②let和const的区别如下:
③模板字符串
代码如下:
var name = "xpq";
console.log("我的名字叫"+name);
let user = "root";
console.log(`管理者的用户名叫 ${user}`);
var per = {
stuname : "钟佳文",
home : "江西",
age : 22
}
console.log(`我叫 ${per.stuname},来自${per.home},今年${per.age}了`);
④函数默认参数
⑤箭头函数
代码如下:
// 普通函数的写法1
console.log(div(1,5));
function div(a,b){
return a/b;
}
// 普通函数的写法2
var sum = function(a,b){
return a+b;
}
// 箭头函数简写1
var sum = (a,b)=>{
return a+b;
}
// 箭头函数简写2
var add = (a,b)=>a+b;
console.log(add(2,6));
// 箭头函数简写3
var arr = [1,3,5,7,9];
// var newarr = arr.map(function(obj){
// return obj+1;
// })
var newarr = arr.map(obj=> obj+1);
console.log("新数组是",newarr);
⑥对象初始化简写及案例分析
代码如下:
// 传统写法
var perInfo = {
username : "xpq",
home: "江西",
go:function(){
console.log("去江服读书");
}
}
// ES6写法
let username = "xpq";
const home= "江西";
var perInfo2 = {
username ,
home,
go(){
console.log("去江服读书");
}
}
console.log(perInfo2.username);
console.log(perInfo2.home);
perInfo2.go();
⑦对象解构
代码如下:
var perInfo2 = {
username: "徐谱青" ,
home: "江西上饶",
phone: 110,
// say(){
// console.log(this.username+"来自"+this.home);
// },
say(){
console.log(this.username+"来自:" + this.home);
},
go(){
console.log("去江服读书");
}
}
// 传统取值 . 的方法
// console.log("// 传统取值 . 的方法如下");
// console.log(perInfo2.username);
// console.log(perInfo2.home);
// 传统取值 [] 的方法
// console.log("// 传统取值 [] 的方法如下");
// console.log(perInfo2["username"]);
// console.log(perInfo2["home"]);
// 对象解构
// console.log("// 对象结构如下");
// var {username,home,say,go} = perInfo2;
// go();
// 对象传播操作符
var {username,home,...pernothers} =perInfo2;
console.log(username);
console.log(home);
console.log(pernothers);
⑧对象传播操作符
⑨数组Map
代码如下:
//问题找出一个数列中能被 2 和 3整除的数形成的数列
//传统遍历
var arr = [1,5,6,11,56,45,30,18,37,108];
var newarr = [];
for(let i=0;i<arr.length;i++){
if(arr[i]%2==0 && arr[i]%3==0){
newarr.push(arr[i]);
}
}
console.log("能被 2 和 3整除的数形成的数列是",newarr);
//map自带遍历
var newarr1 = arr.map(function(obj){
if(obj%2==0 && obj%3==0){
return obj;
}
return null;
})
console.log("能被 2 和 3整除的数形成的数列是",newarr1);
//
⑩数组reduce() //运算结果是55,累加器
代码如下:
//数组提供一种累加器 reduce
var arr = [1,2,3,4,5,6,7,8,9];
var result = arr.reduce(function(a,b){
return a+b;
})
console.log(result);
6.NPM包管理器 (npm)
7.Babel的安装
使用:① npm init -y
②在src下创建test.js文件,编写es6语法代码
③在根目录下编写.babelrc配置文件内容
④运行命令下载es2015转化器
⑤执行命令整个目录输出转码
下载完转码器之后可执行此命令:babel src -d dist
8.模块化(commonJS)
9.ES6的模块化规范
10.ES6模块化写法2
1、创建 src/userApi2.js ,导出模块
export default {
getList() {
console.log('获取数据列表2')
},
save() {
console.log('保存数据2')
}
}
2、创建 src/userComponent2.js,导入模块
import user from "./userApi2.js"user.getList()user.save()
3、执行命令转码
npm run build
4、运行程序
node dist/userComponent2.js
11.WebPack