美文网首页
vue-cli3.x配置babel转换node-modules中

vue-cli3.x配置babel转换node-modules中

作者: 俄小发 | 来源:发表于2019-12-04 16:49 被阅读0次

    首先我们先了解一些跟babel相关的基础知识,了解什么是babel,如何配置babel等等

    什么是babel?

    babel官网介绍戳戳戳:https://www.babeljs.cn/docs/

    Babel 是一个 JavaScript 编译器,主要用于将 ECMAScript 2015+ 版本的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中。

    啊哦哦~~原来是这样,babel就是将高版本的新语法转换成能在各个浏览器中兼容的语法,这样就不会担心浏览器的兼容性而不使用新语法喽!!

    vue-cli2.x版本项目如何配置babel转换

    @babel/core:babel的核心库

    必引,一切babel转换操作都基于@babel/core,因为它包含了编译的transform方法

    npm install --save-dev @babel/core
    

    @babel/polyfill:用于模拟完整的 ES2015+ 环境

    注意是--save而非--save-dev,因为这是一个需要在你的源码之前运行的 polyfill

    npm install --save @babel/polyfill
    

    安装之后,在项目入口main.js引入@babel/polyfill即可

    babel-loader:webpack配置loader转换

    babel-loader网址戳戳戳:https://www.webpackjs.com/loaders/babel-loader/
    允许使用Babel和webpack来转译JavaScript文件

    npm install --save-dev babel-loader
    

    webpack.base.config.js文件中配置

    module.exports = {
          module: {
                rules: [
                      {
                           test: /\.js$/,
                           loader: 'babel-loader',
                           include: [resolve('src')]
                      }
                ]
          }
    }
    

    通过以上配置即可达到在vue-cli2.x版本进行babel转换

    vue-cli3.x版本该怎么做呢

    vue-cli3.x的项目初始化时会引入一个插件,名为@vue/cli-plugin-babel

    @vue/cli-plugin-babel:默认已引入

    默认使用 Babel 7 + babel-loader + @vue/babel-preset-app,也就是无需再单独引入babel-loader等转换插件了
    首先看一下vue-cli3.x版本的介绍介绍

    Babel配置.png

    @vue/babel-preset-app:默认已引入

    在babel.config.js文件中进行配置,更多详情配置请去官网哦~

    module.exports = {
        presets: [
            '@vue/babel-preset-app'
        ]
    };
    

    此时,运行项目,即可进行babel转换
    是不是很酷😎只需要配置presets即可

    请注意请注意
    默认情况下,babel-loader会忽略所有 node_modules 中的文件,但是我们在某一些安装包引入的时候也需要进行babel转换,那怎么办呢

    transpileDependencies:转换node-modules必备

    transpileDependencies介绍.png

    在vue.config.js文件中配置:

    module.exports = {
        transpileDependencies: [
            /[/\\]node_modules[/\\]test[/\\]/,
            /[/\\]node_modules[/\\][@\\]test2[/\\]test3[/\\]/,
        ]
    }
    

    哇喔~~~运行一下,不报错了,node-modules文件下的也可以进行babel转换了哟😊

    自己爬坑的一个记录哟,不对之处请指正~~蟹蟹

    相关文章

      网友评论

          本文标题:vue-cli3.x配置babel转换node-modules中

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