美文网首页
深入webpack之将代码转为ES5

深入webpack之将代码转为ES5

作者: 左冬的博客 | 来源:发表于2021-08-05 11:28 被阅读0次

这篇文章中,发现是可以借助babel的API手动把let变成var,那么

能不能自动把代码转为ES5?

可以,使用babel/corebabel/preset-env即可
@babel/core包含@babel/parser,@babel/traverse,@babel/generator

import { parse } from "@babel/parser"
import * as babel from "@babel/core"
import * as fs from 'fs'

// test.js代码在下面👇
const code = fs.readFileSync('./test.js').toString()
// 将原始code转为ast
const ast = parse(code, { sourceType: 'module' })
// transformFromAstSync接收原始ast,和原始code,生成新code
const result = babel.transformFromAstSync(ast, code, {
  presets: ['@babel/preset-env']
})
// 得到es5代码,写入test.es5.js
fs.writeFileSync('./test.es5.js', result.code)

// test.js在这里👈
// let a = 'let'
// let b = 2
// const c = 3

运行上面代码


test.es5.js

可以发现所有letconst声明,都变成了var,其实不光是变量声明,babel.transformFromAstSync会将所以ES5不支持的语法,变成合法ES5代码

相关文章

  • 深入webpack之将代码转为ES5

    在这篇文章[https://www.jianshu.com/p/11b8982e29eb]中,发现是可以借助bab...

  • 【webpack】Babel与Polyfill的关系和区别

    Babel:是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码。注意:Babel 默认只转换...

  • babel 转码器

    Babel介绍 Babel 是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码,从而在现有环...

  • ES6标准入门 摘要 (Babel 、let 、 const)

    Babel Babel 是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码,从而在现有环境执...

  • Babel入门

    Babel 是一个工具集,主要用于将 ES6 版本的 JS 代码转为 ES5 等向后兼容的 JS 代码: 语法转换...

  • babel-polyfill

    为什么要使用babel-polyfill? Babel是一个广泛使用的转码器,可以将ES6代码转为ES5代码,从而...

  • Babel 转码器

    Babel 是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码,从而在现有环境执行。这意味着...

  • es6学习

    Babel 是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码,从而在现有环境执行。这意味着...

  • babel

    babel:ES6转换器,将ES6代码转为ES5代码安装核心库npm install --save-dev @ba...

  • Vue解决低版本安卓不兼容白屏的问题

    1、Babel是一个广泛使用的转码器,可以将ES6代码转为ES5代码,从而在现有环境执行。 babel-polyf...

网友评论

      本文标题:深入webpack之将代码转为ES5

      本文链接:https://www.haomeiwen.com/subject/oolmvltx.html