前端技术栈关系
vue 是基于 ES6 的 JS框架;
ES6 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,主要是为了解决 ES5 的先天不足,比如 JavaScript 里并没有类的概念。
让机器识别、翻译、并运行 es 的,叫 es引擎,例如 v8、gecko;
为 es 和 es引擎提供运行以及相关api的所在环境,我们叫做宿主环境,比如浏览器、node;
node 遵循 CommonJS 规范,提供一系列操作计算机以及相关软硬件的api,常用于服务器和前端相关构建服务;
node.js 是一个基于 v8 引擎的 js 运行环境(runtime),能够让 js 运行在服务端;
npm 是 node 的包管理器;
webpack 可以对前端项目进行编译、压缩和打包。webpack 是使用 node 开发,运行在 node环境中的一个工具。
TypeScript 是 JavaScript 的超集,扩展了 JavaScript 的语法,支持 ES6 标准。
Babel 是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码,从而在老版本的浏览器执行。
注:
v8:目前最快的JS引擎,Google生成。
node.js:node 全称就是 node.js,node.js 是运行在服务端的 JavaScript。
npm 淘宝镜像:npm install -g cnpm --registry=https://registry.npm.taobao.org。
感悟:
前端如 vue、angular、layui 等,都是框架,拿之即用,不必花太多时间深研。
相比之下需要掌握的是 js(es5)、Query、es6、ts、node.js 等基础知识。
更需要多花时间研究后台 api 的相关,如控制依赖、反转等…
======================yarn============================
yarn :JS 包管理工具,Yarn 是为了弥补 npm 的一些缺陷而出现的。
中文文档:https://yarn.bootcss.com/
yarn 的优点:
1. 速度快
并行安装:npm 是按照队列执行每个 package,也就是说必须要等到当前 package 安装完成之后,才能继续后面的安装。而 Yarn 是同步执行所有任务,提高了性能。
离线模式:如果之前已经安装过一个软件包,用Yarn再次安装时之间从缓存中获取,就不用像npm那样再从网络下载了。
2. 安装版本统一
3. 更简洁的输出
更多比较:https://www.jianshu.com/p/254794d5e741
有了yarn的压力之后,npm做了一些类似的改进:npm 5.0
======================Node.js============================
安装 Node.js
Node.js 安装包及源码下载地址为:https://nodejs.org/en/download/。
检查 Node.js 版本
Node.js 集成了 npm,查看 npm 版本
创建第一个 Node.js 应用
在桌面上创建一个 main.js 的文件,并写入以下代码:
//使用 require 指令来载入 http 模块,并将实例化的 HTTP 赋值给变量 http var http = require('http'); //使用 http.createServer() 方法创建服务器,并使用 listen 方法绑定 8888 端口。 函数通过 request, response 参数来接收和响应数据。 http.createServer(function (request, response) { // 发送 HTTP 头部 // HTTP 状态值: 200 : OK // 内容类型: text/plain response.writeHead(200, {'Content-Type': 'text/plain'}); // 发送响应数据 "Hello World" response.end('Hello World\n'); }).listen(8888); // 终端打印如下信息 console.log('Server running at http://127.0.0.1:8888/');
以上代码我们完成了一个可以工作的 HTTP 服务器。
windows+r,输入 powershell 打开控制台,定位到桌面文件夹,执行 node 命令:
打开浏览器,访问 http://127.0.0.1:8888/ 得到
什么是回调函数?
回调函数在完成任务后就会被调用。
例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回。
这样在执行代码时就没有阻塞或等待文件 I/O 操作。这就大大提高了 Node.js 的性能,可以处理大量的并发请求。
Node.js 是单进程单线程应用程序,但是因为 V8 引擎提供的异步执行回调接口,通过这些接口可以处理大量的并发,所以性能非常高。
Node.js 几乎每一个 API 都是支持回调函数的。
Node.js 基本上所有的事件机制都是用设计模式中观察者模式实现。
回调函数使用案例:https://www.runoob.com/nodejs/nodejs-callback.html
Node.js 连Mysql
参考:https://www.runoob.com/nodejs/nodejs-mysql.html
报错:Client does not support authentication protocol requested by server; consider upgrading MySQL client,解决:https://www.jianshu.com/p/54b0c02b3810
======================其他============================
powershell 是 cmd 的超集,换句话说,cmd能做的事情,powershell都能做,但是powershell还能额外做许多cmd不能做的活。
powershell 背后依靠的是一套完整的 .NET 编程体系,其脚本更容易编写且稳健性大大提升。