webpack4与babel配合使es6代码可运行于低版本浏览器的方法
                                            使用es6+新语法编写代码,可是不能运行于低版本浏览器,需要将语法转换成es5的。那就借助babel转换,再加上webpack打包,实现代码的转换。
成都创新互联公司是一家专业提供璧山企业网站建设,专注与网站设计制作、成都网站建设、H5技术、小程序制作等业务。10年已为璧山众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
转换包括两部分:语法和API
let、const这些是新语法。
new promise()等这些是新API。
简单代码
类库 utils.js
const name = 'weiqinl'
let year = new Date().getFullYear()
export { name, year }index.js
import _ from 'lodash'
import { name, year } from './utils'
Promise.resolve(year).then(value => {
 console.log(`${name} - ${value} - ${_.add(1, 2)}`)
})babel转换
安装babel编译器和对应的运行时环境
复制代码 代码如下:
npm install -D @babel/core @babel/preset-env @babel/plugin-transform-runtime @babel/polyfill
并新建 .babelrc 文件,里面可以配置很多东西,内容为:
{
 "presets": [
  ["@babel/preset-env", {
   "useBuiltIns": "usage",
   "modules": false
  }]
 ],
 "plugins": [
  [
   "@babel/plugin-transform-runtime", {
    "corejs": false,
    "helpers": false,
    "regenerator": false,
    "useESModules": false
   }
  ]
 ],
 "comments": false
}webpack构建
webpack4,可以零配置构建项目,那是因为它的很多配置值都默认了。在这里,我们需要自己配置。
创建一个 webpack.config.js 文件
const path = require('path');
module.exports = {
 mode: "production",
 entry: ['@babel/polyfill', './src/index.js'],
 output: {
  path: path.resolve(__dirname, 'dist'),
  filename: '[name].bundle.js'
 },
 module: {
  rules: [{
   test: /\.js$/,
   include: [
    path.resolve(__dirname, 'src')
   ],
   exclude: /(node_modules|bower_components)/,
   loader: "babel-loader",
  }]
 }
}使用
webpack构建打包好的js文件,我们将其引入到html文件。
webpack-babel-es6 webpack构建由babel转码的es6语法,支持es6语法和API
请查看浏览器控制台
运行该html,可以看到控制台有内容输出 weiqinl - 2018 - 3
最后的目录结构:

可以git查看源码https://github.com/weiqinl/demo/tree/master/webpack-bable-es6
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。
分享标题:webpack4与babel配合使es6代码可运行于低版本浏览器的方法
分享URL:http://www.scyingshan.cn/article/pichgc.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 