0%

JSX 的基本使用

createElement() 的问题

1.繁琐不简洁

2.不直观,无法一眼看出所描述的结构

3.不优雅,用户体验不爽

createElement()缺点

阅读全文 »

迭代器

Iterator

iterator` 是 ES6 新增的一种遍历机制,类似于数据解构的代理,使用它可以让我们不用直接对数据解构对象本身进行操作。

核心

  • 迭代器是一个同一的接口,它的作用是使各种数据结构可以被便捷访问,它是通过一个键为Symbol.iterator 的方法来实现。
阅读全文 »

新特性    ·

自从 2017 年 9 月 21 日 Java 9 正式发布之时,Oracle 就宣布今后会按照 每六个月一次的节奏进行更新,在过去的几个月中,我们见证了其兑现了 诺言,但万万没想到,苦了大批迎头而上的开发者们

阅读全文 »

为什么需要 loader

webpack是一个用于现代 JavaScript 应用程序的静态模块打包工具。内部通过构建依赖图管理模块之间的依赖关系,生成一个或多个 bundle 静态资源。
image.png

阅读全文 »

在node中,有全局变量process表示的是当前的node进程。
process.env包含着关于系统环境的信息,但是process.env中并不存在NODE_ENV这个东西。

NODE_ENV是一个用户自定义的变量,在webpack中它的用途是判断生产环境或开发环境

为了查看 process的基本信息,我们可以在文件夹中 新建一个process.js文件,在里面加一句代码console.log(process);然后进入该文件夹,执行node process.js可以在命令行中打印如下信息:

阅读全文 »

ESM (es6 模块)

ES6 模块的设计思想是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输入和输出的变量。
因为ESM是静态化的,所以在运行前的编译阶段就可以确定模块关系,从而进行一些模块之间的操作,比如treeshaking等等

ES6 模块不是对象,而是通过export命令显式指定输出的代码,再通过import命令输入

一个模块就是一个独立的文件。该文件内部的所有变量,外部无法获取。如果你希望外部能够读取模块内部的某个变量,就必须使用export关键字输出该变量。

阅读全文 »

Javascript模块化

在了解这些规范之前,还是先了解一下什么是模块化。

模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题进行系统性的分解以之处理。模块化是一种处理复杂系统分解为代码结构更合理,可维护性更高的可管理的模块的方式。可以想象一个巨大的系统代码,被整合优化分割成逻辑性很强的模块时,对于软件是一种何等意义的存在。对于软件行业来说:解耦软件系统的复杂性,使得不管多么大的系统,也可以将管理,开发,维护变得“有理可循”。

阅读全文 »

分隔符和片段

概念:分隔符是/,通过split('/') 得到的数组每一项是片段。

示例:

  • src/index.js 有两个片段,分别是 srcindex.js
  • src/**/*.js 有三个片段,分别是 src***.js
阅读全文 »

先写个例子目录为E:\web\test\abc.js,其中abc.js为我们写的测试代码,在Node中./和process.cwd()效果相同,./有特殊情况
./就是执行node命令的路径,也就是工作路径,在哪运行的node index.js或者说在哪运行npm run build的路径 (特殊情况:在 require() 中使用 ./ 时,这时的路径就会是含有 require() 的脚本文件的相对路径。)

阅读全文 »