美文网首页
使用Babel对ES6模块化代码进行转换

使用Babel对ES6模块化代码进行转换

作者: 5cc9c8608284 | 来源:发表于2022-07-20 20:52 被阅读0次

    1.初始化项目
    在项目跟目录下执行npm init -y初始化项目
    2.安装依赖
    同样在项目根目录下执行npm install babel-cli babel-preset-env browserify -D

    babel-cli:babel的脚手架工具
    babel-preset-env:将最新的es6的语法转换成es5
    browserify:打包工具,类似于webpack,但是比webpack简单,一般在项目中使用webpack,在这里只是简单演示,所以选择browserify

    3.使用命令对我们的代码进行编译
    因为我们是局部安装,所以使用npx来执行babel命令

     npx babel src/js -d dist/js --presets=babel-preset-env
    

    执行完之后就可以看到在我们的项目跟目录下多出了一个dist目录,里面是经过打包的js代码,如下所示:

    1.png
    这是我们在index.html文件里引入dist/app.js文件,并提供vscode的liverServer将其打开,这是你就会发现浏览器控制台有个报错:
    2.png
    这是因为浏览器不能识别require语法,我们需要对编译过的文件再进行一次打包,执行以下命令:
    npx browserify dist/js/app.js -o dist/bundle.js
    

    dist/js/app.js:入口文件
    -o:-o后面紧跟的是打包后文件的存放路径

    执行完在这个命令后,在dist目录下就生成了一个bundle.js文件,我们在index.html中引入这个文件,并在浏览器里打开,我们导入的内容就可以正确的输出了,如下所示:


    1.png

    当我们修改了代码之后需要重新执行:

    npx babel src/js -d dist/js --presets=babel-preset-env
    npx browserify dist/js/app.js -o dist/bundle.js
    

    这两条命令,才能在控制台看到我们想要的结果,比如我修改了app.js中的代码:

    import * as test1 from './test1.js'
    import * as test2 from './test2.js'
    import * as test3 from './test3.js'
    console.log(test1.name);
    console.log(test2.study());
    console.log(test3.default.school);
    

    执行完上面两条命令后,再次打开浏览器控制台就可以看到一下输出结果了:


    1.png

    这样转换了之后,不管我们的浏览器支不支持es6语法,都能正确运行代码了

    相关文章

      网友评论

          本文标题:使用Babel对ES6模块化代码进行转换

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