当前位置: 首页 > news >正文

天津市网站建设_网站建设公司_交互流畅度_seo优化

做电子章网站,小蝌蚪福导福航app,百度云与手机wordpress,石家庄网站快速备案Babel 官方介绍#xff1a;将 ECMAScript 2015 及其版本以后的 javascript 代码转为旧版本浏览器或者是环境中向后兼容版本的 javascript 代码。 简而言之#xff0c;就是把不兼容的 JavaScript 代码转为可兼容#xff0c;可以执行的 JavaScript 代码。 功能#xff1a; 语…  Babel   官方介绍将 ECMAScript 2015 及其版本以后的 javascript 代码转为旧版本浏览器或者是环境中向后兼容版本的  javascript 代码。 简而言之就是把不兼容的 JavaScript 代码转为可兼容可以执行的 JavaScript 代码。     功能       语法转换      添加一些兼容性的 polyfill 功能     源码转换等     简单配置预览   {plugins: [], // 插件配置presets: [] // 预设配置 }// 这里 .babelrc 配置的// 官网建议用 module 的形式来配置bable.config.jsconst presets [] const plugins [] module.exports { presets, plugins }配置介绍       presets 是某一类 plugin 的集合包含了某一类插件的所有功能。     plugin 将某一种需要转化的代码转为浏览器可以执行代码。       编译的执行顺序       1、执行 plugins 中所有的插件     2、plugins 的插件按照顺序依赖编译     3、所有 plugins 的插件执行完成在执行 presets 预设。     4、presets 预设按照倒序的顺序执行。(从最后一个执行)     5、完成编译。     1、主要插件介绍       babel-preset-es2015 ( ES2015 / ES6 插件集合 )     将 ES2015(es6) 的 javascript 代码 转化 浏览器兼容 javascript 代码       arrow-functions  箭头函数     block-scoped-functions  函数命名的方式转话改为赋值的形式     block-scoping  let  转为 var     classes   es6 的类转化     computed-properties  属性命名的转化如var obj { [xa]: 1 }     destructuring  析构函数转化     duplicate-keys  属性优化     for-of  for of 的转化     function-name  优化函数命名     instanceof  instanceof 转化     literals  不同类型复制优化     new-target  继承 extends 转化     object-super  super 转化     parameters  params (a1,b2){} , 默认参数转化     shorthand-properties  对象属性转化 {a,b} {a:a,b:b}     spread  扩展属性转化 {...other}     sticky-regex  regex 优化用 new Regex构建     template-literals  字符串模版      typeof-symbol  symbol 转化     unicode-regex  将正则的匹配字符串转为 unicode               babel-preset-es2016 ES2016 / ES7 插件集合     将 ES2016(es7) 的 javascript 代码 转为 浏览器兼容代码       exponentiation-operator  幂运算转化  x ** 3 x的3次幂         babel-preset-es2017 ES2017 / es8 插件集合     将 ES2017(es8) 的代码进行转化           async-to-generator   转化 async/await 转为 generator 函数         babel-preset-stage-x ES2018/stage 插件集合     将 stage 阶段的代码转化       async-generator-function  将异步函数进行转化     dotall-regex  点号正则优化     object-rest-spread  解析构优化     optional-catch-binding  catch 加 finally 优化     unicode-proprty-regex              Modules     modules-amd / modules-commonjs / modules-systemjs / modules-umd     将不同的 export default x  转为不同的模块形式 amd / commonjs / systemjs / umd         Experiental 试验阶段       class-properties  class 的静态属性转化     decorators    装饰器转化     do-expressions       export-default-from  export 优化     export-namespace-from  export 优化     function-bind  bind 函数转化obj::fun fun.bind(obj)  ::obj.fun obj.fun(obj)     function-sent       logical-assignment-operators        nullish-coalescing-operaor     numeric-separator     optional-chaining     pipeline-opertor     throw-expressions             Minification babel-minify     运用代码压缩优化插件预设       ...     这里自行可以去官网上查看...            babel-preset-react ( react 集合 )     react 的相关编译转化...     jsx 和 element 的一下转化     直接添加 react 的预设就可以了。          Other 其他一些插件          jscript  严格模式命名     object-assgin  assgin 转化     regenerator  generator 函数的转化     object-set-prototype-of-to-assign  setPrototype 转化     runtime        2、主要 presets 介绍          babel/preset-dev       是一个智能预设。     根据浏览器和运行环境自动的确定 babel 插件和 polyfills 。     没有任何配置的情况下和 babel-preset-latest 一样 ( es2015/es2016/es2017一起使用 )。 {presets: [ dev ] }配置及其详解    {presets: [[babel/preset-env,{target:{browser:[ie8,chrome62],node:8.9.0,safari:tp},modules:false,debug:true,uglify:trueuseBuiltIns:true}]] }target : 描述您为项目配置的 支持/定位 的环境     browsers 浏览器的支持情况将返回支持浏览器列表。 会被 target.ie 覆盖       [ ie8 ]    支持 ie8 的环境       default     默认     node 指定是 node 环境且可以指定版本     safari : safari 版本   modules : 启用将 es6 转为其他模块   debug 是否启用 console.log    include / exclude : 必须启用的 plugin 功能 / 不启用的 plugin 功能   uglify : 压缩代码   useBuiltIns       false 引用所有的 babel-polyfill 在 webpack 中添加 babel-polyfill 入口处           entry:[ babel-polyfill , index.js ] , 引用所有的 polyfill体积变大     true 引用部分根据配置的 preset-env 环境引用 polyfill          在入口文件中要引用 babel-polyfill       babel/preset-react   这都是一些 react 相关的集合   不需要介绍了有需要自己去官网浏览下.            Stage-x   草案中的预设..   该插件集合不存在 preset-env 集合中所以需要引用....       3、babel-polyfill 兼容方法     babel的 preset-dev 中只会转化新的 Javascript 语法不会转化新的 api。   例如Generator / Set / Map 等    就是实现 babel 转化后的代码中仍有不兼容的代码的转化。     原理   babel-folyfill 是修改全局的对象的原型添加不兼容的 api 方法或者修改不兼容的 api 方法。        用法     1、在入口文件的顶部添加 require(babel-polyfill);import babel-polyfill2、webpack 中添加   {entry:[babel-polyfill,./app.js] }在 webpack 的配置文件中添加。     3、直接在 html 中引用在打包 js 的文件之前   script src ./babel-polyfill.js /script4、transform-runtime 插件     对 babel 转化后的代码进行再次转化与 babel-polyfill 一样解决不兼容的全局 api 。   与 babel-polyfill 不同是它不是添加/修改全局对象。   它是对不兼容的方法进行特殊处理也就是添加辅助方法来做兼容。   并且 transform-runtime 是在需要进行兼容转化时候引用。   transform-runtime 是依赖 babel-runtime 且辅助方法都是引用的 babel-runtime        特点   不会污染全局变量因为不会修改全局对象   没有修改实例的方法所以有些方法不能实现。   [transform-runtime, {    corejs:false,helpers: false,polyfill: false,regenerator: true,moduleName: babel-runtime}]helpers 是否使用 babel-runtime/helpers 来代替内部的 helpers   coresjs 是否用 babel-runtime/corejs 中的辅助方法来替换 Map / Set 等方法   polyfill : 是否用 babel-runtime 的辅助函数来代替 polyfill   regenerator 是否用 辅助函数来代替 async / generator 函数   moduleName 引用时候名字       5、babel-register     通过 babel-register 来注册当前所有的代码需要转码   var fs require(fs); var babelConfig JSON.parse(fs.readFileSync(./.babelrc)); require(babel-register)(babelConfig);很显然这里可以传入一个 .babelrc 配置文件来进行转码时候的配置。   只需要添加到入口文件中。   node 端就可以这这样实现 babel 的转码。     6、tools   babel-parser  : babel 的解析器用于解析 Javascript / jsx / Typescript / flow 等代码   babel-core babel 的核心文件用于转码的   babel-generator 代码的转化源码和转化代码   babel-code-frame : 代码转化位置等转码映射   babel-helpers 辅助器方法   babel-runtime 提供了一些列的辅助方法与 polyfill 类似   ...     bable/babel-cli 命令行工具     用于命令行编译文件可以进行配置以及输出等操作。     用法 babel input.js -options // 编译 input.js 文件配置    -o 输出路径   -w 监听编译文件实时编译   -s  输出source-map 可以内敛   -d  当编译一个目录时候-d 输出目录   --ignore 忽略的文件   --plugins 使用插件用 , 隔开   --presets 使用预设用 , 隔开   --config-file 使用 .babelrc 文件路径        .babelrc 配置详解     配置转化起 babel 三种不同作用        1、用于语法转义的配置。 preset-env / stage-x 主要用于 es 的语法转义     2、用于补丁的配置即 polyfill 的配置。主要是 transform-runtime 。     3、用于不同框架的配置如react的jsx /flow 等     例子 {presets:[react,[env,{...}],stage-0],plugins:[pluginName,[transform-runtime,{...}]],ignore:[path,file],miniied:boolean,comments:boolean,env:{test:{presets:[],plugins:[]}},... }主要几个配置     presets 预设插件的集合倒序执行     plugins 插件先执行插件在执行预设顺序执行     ignore 忽略的文件     minify 压缩代码     common : 是否需要注释     env 设置不同的环境应用不同的配置配置取值BABEL_ENV如若没有取 NODE_ENV 的值默认为 development.         其他可以自行在官网浏览...         常见预设   env  用于替换 es2015 /  es2016 / es2017 的预设。根据环境引入插件   react react的插件集合   react-optimize react 代码优化如去除 propsType 减少生产上面代码   stage-x 草案代码插件集合   flow flow 插件集合   minify 代码优化的集合   typescript typescript 插件集合       常用插件   transform-async-to-generator 异步函数 async/await 插件   transform-decorators-leagacy : 装饰器插件   syntax-dynamic-import import() 插件   transform-runtime 辅助器插件用于ployfill   transform-object-rest-spread : 用于合并 var test {a:1,b2};var t {...test,n:1}   transform-funciton-bind : 用于编译 obj::fun fun.bind(obj)         transform-es2015-modules-commonjs es6 module 在 node 使用        https://www.cnblogs.com/jiebba/p/9613248.html     我的博客   XiaoLongs Blog    博客园小结巴巴 https://www.cnblogs.com/jiebba       转载于:https://www.cnblogs.com/jiebba/p/9613248.html
http://www.lebaoying.cn/news/107397.html

相关文章:

  • 网站建设详细的步骤有哪些免费推广网站推荐
  • 专业网站建设网页官网建立
  • 莱芜二手房网站网站seo 文章转载 修改标题
  • 网站怎么做公司可以做免费推广的网站
  • 网站登录页面html模板wordpress .sql
  • vps绑定多个网站安卓手机本地视频播放器
  • 网站建设与管理案例教程ppt天津网站seo设计
  • 无极任务平台网站进入芜湖建设机械网站
  • 做网站的实验报告建设公司网站编号
  • 做一个网站成本多少wordpress文章页多个产品图
  • 西安成品网站建设wordpress文章头部
  • 网站都是什么软件做的中企动力公司是国企吗
  • 美容美发网站建设方案工程招聘app都有哪些
  • 台州网站制作系统分析怎么写手机在线设计
  • 家谱网站怎么做昌平区事业单位公共知识培训网站
  • 福清市建设局网站多少哈尔滨网站建设学校
  • 网站备案 子域名沟通交流型网站广告如何做
  • 购车网站开发数据库er图一个微信可以做两个网站支付宝
  • 南京网站优化石家庄网站制作公司
  • 网站提现功能怎么做企业门户网站建设方案及报价
  • 信用网站建设成效佛山网站建设联系
  • 投稿作文网站推广公司好做吗
  • 蒙古文政务网站群建设工作方案h5公众号开发
  • 深圳门户网站建设公司wordpress网页教程
  • net建站系统php网站开发实用技术下载
  • 高创园网站建设方案软件开发需求发布平台
  • 衣柜推拉门图案设计网站国外旅游网站排名
  • 惠州网站建设咨询国字型网页布局图片
  • 优秀网站菜单用python做网站不常见
  • 网站还没建设好可以备案吗自己的网站怎么做排名