NodeJS&ES6第一天

NodeJS&ES6第一天

Docker知识回顾

Docker
 容器化技术
遇到问题:
 不同环境中的软件不一致的问题,导致相同的代码在不同的环境执行的效果不一致。
解决方案:
 虚拟化技术(VMWare WorkStation)
	虚拟机中挂载系统,系统中把需要的软件都安装好,可以将镜像拷贝给别人。
遇到问题:
	(1)耗内存[挂载的系统] (2)启动速度慢[每次都要重新将系统启动起来]
Docker就是解决上述问题

Docker的概念
	组件:
		镜像					软件安装包	
		容器					安装好的软件
		Docker服务端			Mysql的服务[后台进程]
		Docker的客户端          输入相关的操作命令
		Docker的远程仓库 		Maven的远程仓库
		Docker的宿主机			Docker服务端运行所在的服务器
		
Docker的相关命令
	启动Docker服务
		systemctl start|stop|status|restart docker
	Docker的镜像
		docker images
		docker search imagesName
		docker pull imagesName[:version]
		docker rmi imagesName/imagesID
		docker rmi `docker images -q`
	Docker的容器
		docker ps  当前运行的容器
		docker ps -a 查询所有的容器
		docker ps -l 查询最后一次运行的容器名
		docker rm containerName/containerId
		docker rm `docker ps -a -q`
		docker inspect containerName
		根据镜像创建容器
			守护式
				docker run -id --name=containerName -p 宿主机Port:容器Port -v 宿主机目录:容器目录 imagesName[:version]
			交互式
				docker run -it --name=containerName -p 宿主机Port:容器Port -v 宿主机目录:容器目录 imagesName[:version] /bin/bash
			守护式--->交互式
				前提是,容器必须要启动的状态才能进入
					docker start|stop|restart containerName
				docker exec -it containerName /bin/bash
			交互式--->守护式
				exit
	Docker安装具体的容器
		Mysql  Tomcat  Redis  Nginx
			docker run -id --name=mysql1 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 imagesName[:version]
	
	Docker-compose的使用
		匹配操作容器列表。  docker-compose.yml配置相关的内容。
	Docker的备份和迁移
		container--->images
			docker commit imagesName
		images--->tar包
			docker save -o imagesName xxxx.tar
		tar包--->images
			docker load -i xxxx.tar
		images--->container
			守护式/交互式

DockerFile的使用

容器centos上安装JDK1.8
	宿主机---->centos容器---->JDK1.8
	(1)JDK安装包
	(2)JDK安装包上传到宿主机
	(3)将宿主机上的安装包拷贝到容器中
		docker cp  .....
	(4)容器中解压
	(5)容器中配置环境变量
	(6)将容器转换成镜像
		docker commit ...
目标:File文件把要操作的步骤记录下来,运行一个这个文件就自动把镜像创建好。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4Wm3zgYs-1603890380338)(assets/1572141507862.png)]

NodeJS和ECMASCRIPT6

NodeJS的概述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8yIsEZTh-1603890380343)(assets/1572143774858.png)]

NodeJS可以解析javascript

exports:导出

require:到入

NodeJS的web服务端开发

//引入内置http模块
var https = require("http");

//http.createServer().listene(8888);

https.createServer(function(request,response){

    //业务操作
    response.writeHead(200,{"Content-Type":"application/json;charset=utf-8"})

    response.end("{'id':1,'name':'张三'}");
}).listen(9999);
console.log("服务运行在http://localhost:9999");

如何接收页面传递过来的参数?

//引入内置http模块
var https = require("http");
var url = require("url");

//http.createServer().listene(8888);

https.createServer(function(request,response){

    //业务操作
    response.writeHead(200,{"Content-Type":"application/json;charset=utf-8"});

    // console.log(request.url);
    // console.log(url.parse(request.url,true));
    var params = url.parse(request.url,true).query;
    for(var key in params){
        console.log(key);
        console.log(params[key]);
    }

    response.end("{'id':1,'name':'张三'}");
}).listen(9999);
console.log("服务运行在http://localhost:9999");

npm init:将自己创建的项目,纳入Node的管理–

​ package.json —>类似于maven的pom.xml,其中记录了当前项目运行所依赖的前端插件

​ node_modules -->存放的就是当前项目运行所依赖的前端插件

node_modules目录中存放的内容过大,不利于项目的迁移,所以可以只拷贝node_modules之外的所有文件,然后拷贝完成后,在对应的目录中执行 npm install,就会根据package.json的依赖自动联网下载所需要的前端插件,下载完成以后,才能去运行。、

npm / cnpm / nrm

全局安装 -g

局部安装

Webpack

问题:

html用别人写好的一些内容,需要到入对应js/css文件

​ 有没有一个办法可以将所有的js/css文件都统一变成一个js文件,好处1.导入只需要到入一次 2.安全

webpack.config.js

var path = require("path");
module.exports = {
    //入口文件
    entry: "./src/main.js",
    output: {
        //路径
        path: path.resolve(__dirname, "./dist"),
        filename: "bundle.js"
    }
}

打包CSS

npm/cnpm  install style-loader css-loader --save -dev

webpack.config.js

var path = require("path");

module.exports = {
    //入口文件
    entry: "./src/main.js",
    output: {
        //路径
        path: path.resolve(__dirname, "./dist"),
        filename: "bundle.js"
    },
    module: {
        rules: [
            {
                test: /\.css$/,
                use: ["style-loader", "css-loader"]
            }
        ]
    }
}

webpack可以将js/css/images…打包成一个文件。

【单页面应用】:整个项目中只有有一个页面出现。好处:不进行页面跳转,用户的体验到很提升很多

​ (Ajax+JSON)

ES6(ECMAScript6) 认识新语法

声明一个变量

​ var : 全局变量

​ let : 局部变量

​ const : 常量

数组

<script type="text/javascript">

        var arr = [1,2,3];
        const [x,y,z] = arr;

        alert(x);
        alert(y);
        alert(z);
    </script>

对象

<script type="text/javascript">

        var arr = {"id":1,"name":"张三","hoby":["篮球","足球","羽毛球"]};
        const {id,name,hoby} = arr;

        alert(id);
        alert(name);
        alert(hoby);
    </script>

获取对象中指定的值

<script type="text/javascript">

        var arr = {"id":1,"name":"张三","hoby":["篮球","足球","羽毛球"]};

        const {hoby,...obj} = arr;

        alert(hoby);
        alert(JSON.stringify(obj));
    </script>

箭头函数

=>

数组中的map函数

<script type="text/javascript">
        var arry = ["1","2","3","4","5"];

        //注意: 如果箭头函数=>为加大括号代表返回该值,如果加了大括号,需要显示的return结果
        var arrys = arry.map((s)=>{
            //业务操作完成后,将结果返回
            return parseInt(s)+5;
        });



        for(var i = 0 ; i < arry.length; i++){
            //业务操作
            arry[i] = parseInt(arry[i])+5;
        }

        console.log(arrys);
        console.log(arry);
    </script>

对象的扩展方法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7nft4I4l-1603890380346)(assets/1572165707527.png)]

数组的扩展方法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yIXjPxQL-1603890380349)(assets/1572166029130.png)]

babel

将高版本的ES6的语法翻译成ES5能识别的语法。

import[ES6] ,require[ES5] export

默认导出:

export default{
	method(){
	
	},
	method2(){
	
	},
	method3(){
	
	}
}
import xxxx from “./export.js”

NodeJS是干什么的?

npm/cnpm/nrm作用是什么?

webpack的作用?

ES6的语法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值