Education项目中遇到的知识点
Babel 转码器
Babel可以将ES6代码转化为ES5代码 安装Babel:$ npm install --save-dev @babel/core
配置文件.babelrc 放在项目的根目录下,该文件用来设置转码规则和插件,格式如下:
1234{ "parents": [], "plugins": []}
presets字段设定转码规则,官方提供以下的规则集,你可以根据需要安装。
12345# 最新转码规则$ npm install --save-dev @babel/preset-env# react 转码规则$ npm install --save-dev @babel/preset-react
然后,将这些规则加入.babelrc
12345678{ "presets": [ //书写转码规则的后缀 "@babel/env", "@babel/pres ...
小型案例-学生案例管理系统
目录结构
需要导入的模块
http
12345const http = require('http');const app = http.createServer();app.on('request', (req, res) => { }); app.listen(80);
path
12345const path = require('path');//可以将路径进行拼接path.join([path1][, path2][, ...])//上一级目录的名称__dirname
art-templateart-template使用方法
querystring
1234567const querystring = require('querystring');//querystring.parse() 方法将 URL 查询字符串 str 解析为键值对的集合。//例如,查询字符串 'foo=bar&abc=xyz&abc=123' 会 ...
Node.js开发指南-读书笔记
第一章 Node.js简介
Node.js是什么
Node.js 是一个让 JavaScript 运行在服务端的开发平台。
Node.js 中所谓的 JavaScript 只是 Core JavaScript,或者说是 ECMAScript 的一个实现,不包含 DOM、BOM 或者 Client JavaScript。这是因为 Node.js 不运行在浏览器中,所以不需要使用浏览器中的许多特性。
Node.js 的 JavaScript 引擎是 V8
Node.js能做什么
Node.js 内建了 HTTP 服务器支持,也就是说你可以轻而易举地实现一个网站和服务器的组合。这和 PHP、Perl 不一样,因为在使用 PHP 的时候,必须先搭建一个 Apache 之类的4 第1章 Node.js简介HTTP 服务器,然后通过 HTTP 服务器的模块加载或 CGI 调用,才能将 PHP 脚本的执行结果呈现给用户。而当你使用 Node.js 时,不用额外搭建一个 HTTP 服务器,因为 Node.js 本身就内建了一个。这个服务器不仅可以用来调试代码,而且它本身就可以部署到产品环境, ...
模块简介
什么是模块
一个模块就是一个文件,一个脚本就是一个模块
模块之间可以相互加载
export 关键字标记了可以从当前模块外部访问的变量和函数。
import 关键字允许从其他模块导入功能。
1234// 📁 sayHi.jsexport function sayHi(user) { alert(`Hello, ${user}!`);}
1234567// 📁 main.html<!doctype html><script type="module"> import {sayHi} from './say.js'; document.body.innerHTML = sayHi('John');</script>
核心模块功能
始终使用”use strict”
模块级作用域:每个模块都有自己独立的作用域 hello.js 尝试使用在 user.js 中声明的变量 user,失败了:1234#index.html< ...
简单实现Promise核心代码
假设自定义Promise类名为HD
首先定义HD中的三种状态:pending、fulfilled、rejected
12345class HD { static PENDING = "pending"; static FULFILLED = "fulfilled"; static REJECTED = "rejected";}
接着咱们来写HD中的构造函数
首先来看一下是如何创建一个HD对象的123456789const myFirstPromise = new Promise((resolve, reject) => { // 做一些异步操作,最终会调用下面两者之一(任务完成之后的回调函数): //将任务结果通过调用resolve函数或reject函数包装成一个Promise对象 // resolve(someValue); // fulfilled // 或 // reject("failure reason" ...