毫无疑问,我们的 JavaScript 将在 2018 年快速成长。作为法度榜样员,我们爱好编写和应用那些让我们的生活更轻松的对象。不幸的是,这有时会导致更多的纷乱和太多的选择。值得光荣的是,敕令行对象正在赞助我们减橇一皓烦琐的工作,并且 TypeScript 已经知足了那些对类型缺点认为厌恶的开辟者。
英文原文:How to JavaScript in 2018
有关若何为您的下一?应用法度榜样选择精确的 JavaScript 框架的一些专家建议,请参阅此白皮书。
客岁,包含我在内的很多人都在谈论 JavaScript 的乏力。事实上编写 JavaScript 应用法度榜样的方法并没有真正削减,别的有很多敕令行对象完成了大年夜量沉重的工作,转译(transpiling)变得不那么重要,并且 TypeScript 可以或许削减类型缺点的产生,这让我们轻松了不少。
注:本博客文┞仿是我们的白皮书“JavaScript 的将来:2018 及远方”的一部分,它供给了有关 JavaScript 的最新分析和猜测。
译者注:这老将 transpiling 译作“转译”,transpiling 是一个英文计算机术语。一般认为转译是一种特别的编译,当将一种源代码说话编译成别的一种源代码说话时,就称为转译。文中提到的 TypeScript 可以或许编译成 JavaScript。
敕令行对象
大年夜多半库和框架都配备有一个敕令行对象,经由过程输入一个敕令,可认为我们启动一些框架项目,以快速创建我欲望的器械。这平日包含一个启动脚本(有时用主动从新加载器),构建脚本,测试构造等等。当我们创建新项目时,这些对象可以减轻我们大年夜量冗余文件的编写。让我们来看看更多其他的一些敕令行对象。
Webpack 设备
设备你的 webpack 构建过程并真正懂得你在做什么,可能是 2017 年更令人害怕的进修曲线之一。荣幸的是,他们的核心供献者之一 Sean Larkin 奔忙活着界各地,为我们供给了很棒的演媾和异常有趣和有效的教程。
如今很多框架不仅为您创建了 webpack 设备文件,甚至将它们填充到您甚至可能不须要看的地步。Vue 的 CLI 对象有一个 webpack 专用的模板,为您供给全功能的 Webpack 设置。为了让您充分懂得敕令行对象供给的内容,以下是 Vue CLI 模板包含的内容:
npm run dev: 重要开辟体验
- 用于 Vue 单文件组件的 Webpack + vue-loader
- 热更新中的状况保持
- 编译缺点时的状况保持
- 保存时应用 ESLint 检查
- 源文件映射(Source Map)
npm run build: 为临盆情况预备好构建
- 应用 UglifyJS v3 最小化 JavaScript
- 应用 html-minifier 最小化 HTML
- 应用 cssnano 提取所有组件中的 CSS 并最小化
- 对静态资本计算 Hash 使之在缓存中经久有效,并主动为临盆情况生成应用这些静态资本 URL 的 index.html
- 应用 npm run build --report 构建并生成含有流量分析的申报
沙龙晃荡 | 3月31日 京东、微博拭魅战专家与你合营商量容器技巧实践!
npm run unit: 应用 Jest 在 JSDOM 中运行单位测试,或者在 PhantomJS 中应用 Karma + Mocha + karma-webpack
- 测试文件支撑 ES2015+
- 简单打桩
npm run e2e: 应用 Nightwatch 进行端到端测试
- 主动处理 Selenium 和 chromedriver 依附
- 主动生成 Selenium 办事器
- 在多个浏览器中并行地运行测试
- 应用一个异常好的敕令行对象:
preact-cli,大年夜另一个方面支撑着 Webpack 的功能。如不雅你须要自定义 webpack 设备,只须要创建 preact.config.js,它导出一个函数来改变 webpack。大年夜量的对象带来了大年夜量的便捷性,开辟人员们也在互相赞助。
Babel:启用照样封闭
弄明白了吗?Babel 听起来像巴比伦(Babylon)。我都快崩溃了。我并没有试图将 Babel 与 Babylon 联系袈溱一路,但有人说过我们可能会放弃对转译(transpiling)的依附。在以前几年迈,Babel 一向是个大年夜问题,因为我们想要 ECMAScript 提出的所有好梦的特点,但又并不想等待浏览器跟上更新。跟着 ECMAScript 转向年度小版本宣布,浏览器可能会跟上。剔除一些异常棒的 kangax 兼容性图表的 JavaScript 宣布是什么样的呢?
这些图表的截图不是很清楚,因为我想展示它们看起来是多么的绿!更多有关具体信息,请单击图像下方的链接以进一步查看图表。
es6 的兼容性
2016+ 的兼容性
在第一张图中,左侧的红色块是编译器(例如es-6 shim,Closure等)和较旧的浏览器(例如Kong 4.14和IE 11)。右边的五个红色列是办事器/编译器PJS、JXA、Node 4、DUK 1.8和DUK 2.2。在较低的图上,看起来像一只狗并且混乱无章的感慨号的糟糕图形的红色区域是仅应用Node 6.5+具有绿色条纹的办事器/运行时。左边红色方块的构成是编译器/polyfils和IE 11。更重要的是,看看那些绿的!在最风行的浏览器中,我们几乎都是绿色的。2017年功能中的独一红色标记是Firefox 52 ESR for Shared Memory和Atomics。
大年夜一些角度来看,这里是来自维诽谤科的一些浏览器应用情况。
推荐阅读
沙龙晃荡 | 3月31日 京东、微博拭魅战专家与你合营商量容器技巧实践! 如今,跟着对托管数据中间和批发数据中间>>>详细阅读
本文标题:2018 年,我们该如何使用 JavaScript?
地址:http://www.17bianji.com/lsqh/40641.html
1/2 1