名词解释(持续维护中)

580 阅读2分钟

es6模块系统

es6引入了模块化,其设计思想是在编译时就能确定模块的依赖关系,以及输入和输出的变量。

模块中可以导入和导出各种类型的变量,如函数、对象、字符串、数字、布尔值、类等。

每个模块都有自己的上下文,每个模块内声明的变量都是局部变量,不会污染全局作用域。 每个模块只加载一次(是单例的),若再去加载同目录下同文件,直接从内存中读取。

export和import

模块导入和导出各种类型的变量,如字符串、数值、函数、类。

  • 导出的函数声明与类声明必须要有名称(export default命令另外考虑).
  • 不仅能导出声明还能导出引用(例如函数).
  • export命令可以出现在模块的任何位置,但必须处于模块顶层。
  • import命令会提升到整个模块的头部,首先执行。

webpack+babel

chunk异步加载

system+babel分模块异步加载

script的module模式

<script type="module" src="js/app.js"></script>

stylus

css预处理框架(三大css预处理器:scss,less,stylus)

  • Sass(Scss)

Sass有两种语法格式。首先是SCSS,仅在css3语法的基础上进行拓展,所有css3语法在sass中都是通用的,同时加入sass的特色功能。此外,也支持大多数的css hacks(针对不同浏览器写不同的css code的过程,就叫css hack)写法以及浏览器前缀写法,以及早期的ie滤镜写法。以.scss作为拓展名。

另一种也是最早的sass语法格式。使用缩进代替花括号,换行代替分号。

  • Less

很像Scss,和css完全兼容。

  • Stylus

和sass有一点点类似,最大的特点便是没有分号,没有冒号,没有大括号,通过缩进和换行,像编程一样的书写方式。

ben风格和bootstrap风格

Shadow DOM、CSS in JS和CSS Modules