【译】在生产环境中使用原生JavaScript模块

原文地址:https://philipwalton.com/articles/using-native-javascript-modules-in-production-today/
原文作者:PHILIP WALTON
译者:龚亮 ,校对:刘辉
声明:本翻译仅做学习交流使用,转载请注明来源

两年前,我写了一篇有关module/nomodule技术的文章,这项技术允许你在编写ES2015+代码时,使用打包器和转换器生成两个版本的代码库,一个具有现代语法的版本(通过<script type="module">加载)和一个使用ES5语法的版本(通过<script nomodule>加载)。该技术允许你向支持模块(译者注:指ECMA制定的标准的export/import模块语法及其加载机制,又称为ES Module、ESM、ES6 Module、ES2015 Module,下文中将出现很多”模块”一词,都是这个含义)的浏览器发送更少的代码,现在大多数Web框架和CLI都支持它。

Javascript抽象语法树下篇(实践篇)

作者:陈晓强

上篇已经对AST基础做了介绍,本篇介绍AST的运用

AST应用的三个要点

  1. 需要一个解析器,将代码转换为AST
  2. 需要一个遍历器,能够遍历AST,并能够方便的对AST节点进行增删改查等操作
  3. 需要一个代码生成器,能够将AST转换为代码

Javascript抽象语法树上篇(基础篇)

作者:陈晓强

一、基础

为什么要了解抽象语法树

日常工作中,我们会碰到js代码解析的场景,比如分析代码中require了哪些包,有些什么关键API调用,大部分情况使用正则表达式来处理,可一旦场景复杂,或者依赖于代码上下文时,正则就很难处理了,这时候就要用到抽象语法树。常见的uglify、eslint、babel、webpack等等都是基于抽象语法树来处理的,如此强大,有必要好好了解一下。

CSS Houdini实现动态波浪纹

作者:黄浩群

CSS Houdini 号称 CSS 领域最令人振奋的革新。CSS 本身长期欠缺语法特性,可拓展性几乎为零,并且新特性的支持效率太低,兼容性差。而 Houdini 直接将 CSS 的 API 暴露给开发者,以往完全黑盒的浏览器解析流开始对外开放,开发者可以自定义属于自己的 CSS 属性,从而定制和扩展浏览器的展示行为。

碰撞检测的向量实现

作者: 吴冠禧


注:1、本文只讨论2d图形碰撞检测。2、本文讨论圆形与圆形,矩形与矩形、圆形与矩形碰撞检测的向量实现

前言

2D游戏中,通常使用矩形、圆形等来代替复杂图形的相交检测。因为这两种形状的碰撞检测速度是最快的。其中矩形包围盒又可以分为轴对齐包围盒(AABB, Axis Aligned Bounding Box)与转向包围盒(OBB, Oriented Bounding Box)。AABB与OBB的区别在于,AABB中的矩形的其中一条边和坐标轴平行,OBB的计算复杂度要高于AABB。根据不同的使用场景,可以用不同的方案。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×