第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

webpack4與babel配合使es6代碼可運行于低版本瀏覽器

標(biāo)簽:
JavaScript

使用es6+新语法编写代码,可是不能运行于低版本浏览器,需要将语法转换成es5的。那就借助babel转换,再加上webpack打包,实现代码的转换。

转换包括两部分:语法和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 babel-loader

并新建.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文件。

<!DOCTYPE html><html lang="en"><head>

  <meta charset="UTF-8">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <meta http-equiv="X-UA-Compatible" content="ie=edge">

  <title>webpack-babel-es6</title></head><body>

  webpack构建由babel转码的es6语法,支持es6语法和API<br />

  请查看浏览器控制台  <script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="./dist/main.bundle.js"></script></body></html>

运行该html,可以看到控制台有内容输出weiqinl - 2018 - 3

最后的目录结构:

目录结构

可以git查看源码https://github.com/weiqinl/demo/tree/master/webpack-bable-es6

[完]


出处:https://www.cnblogs.com/weiqinl/p/9773048.html

  本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。


點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消