【基础知识】js的规范
参考:https://zhuanlan.zhihu.com/p/113009496
模块化原型-》闭包-》commonJS(require,modules.exports、服务器端)、AMD(require.js,define、浏览器端)、CMD(sea.js,define、浏览器端)=>ES6(export、import通用端)。
==============前端科普系列-Web==============
===主要讲解Web前端发展历史
2015年6月,ECMAScript 6 正式发布,并且更名为“ECMAScript 2015”。
Ajax (Asynchronous JavaScript and XML) 2005年
MVC (model-view-controller)
MVVM (Model-View-ViewModel)
SPA (single-page application)
SSR (server side render),解决 SEO(Search Engine Optimization)。但也可以转为后端返回模板解决seo。
Node = JavaScript + 操作系统 API
==================前端科普系列-Node.js:换个角度看世界============
===主要讲解node、npm历史。其中事件驱动、回调。
Goolge Chrome:V8引擎。
Node :2009年,非阻塞式IO、事件驱动
包管理工具(npm)
《JavaScript运行机制:事件驱动编程详解》https://zhuanlan.zhihu.com/p/30894022
回调地狱,当然后面的 Promise、Async、Await 都致力于解决这个问题。https://zhuanlan.zhihu.com/p/58428287
NPM包管理需要处理同名问题,规范js代码?引出 CommonJS 的模块规范。
=================CommonJS:不是前端却革命了前端》===============
===主要讲解后端规范commonjs,然后产生前端规范AMD和CMD,这些都是规范层面,从ES6规范,是语言层面,统一到ES6。
CommonJS 是一个项目,其目标是为 JavaScript 在网页浏览器之外创建模块约定。
Node.js 和 CommonJS 规范就相得益彰、相映成辉,共同走入开发者的视线。
CommonJS 最初是服务于服务端的,但为后面前端模块化的盛行产生了深远的影响。
前端需要模块化,并且模块化不光要处理全局变量污染、数据保护的问题,还要很好的解决模块之间依赖关系的维护。
CommonJS 概述
require 和 module(属性exports)。
我们以 webpack 为例,看看如何实现对 CommonJS 规范的支持。【webpack】
后端CommonJS(Node.js)、前端AMD(RequireJS)、CMD(sea.js);前后端ES6 Modules。
AMD (Asynchronous Module Definition)== RequireJS。它解决了 CommonJS 规范不能用于浏览器端的问题。
AMD 规范的实现:require.js、define(id?, dependencies?, factory)
从 ES6 开始,在语言标准的层面上,实现了模块化功能,而且实现得相当简单,完全可以取代 CommonJS 和 CMD、AMD 规范,成为浏览器和服务器通用的模块解决方案。
ES6 Module 也是如此,模块功能主要由两个命令构成:export 和 import。
===============《前端科普系列-Babel:把 ES6 送上天的通天塔》=================
===Babel工具:把es6语法,翻译为浏览器理解的es5,可配置浏览器版本,翻译细节等等。
===============《前端科普系列-ESlint:守住优雅的护城河》=================
===ESlint,一句话,发现并修复你 JavaScript 代码中的问题!(检查修复)
历史:jsLine、jsHint、ESlint
ESlint可以在VScode中配置使用。
多人开发项目,如何保持代码一致性?可以使用git配置对应的插件,在提交时检验。
ESlint让代码整齐划一,优雅。
参考:https://zhuanlan.zhihu.com/p/91842778

浙公网安备 33010602011771号