欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解webpack運行Babel教程

 更新時間:2018年06月13日 09:27:51   作者:Fundebug  
這篇文章主要介紹了詳解webpack運行Babel教程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

摘要:Babel是轉(zhuǎn)碼器,webpack是打包工具,它們應該如何一起使用呢?

GitHub倉庫: Fundebug/webpack-babel-tutorial

ES6 + IE10 = 語法錯誤!

test.js 使用了ES6的 箭頭函數(shù)

setTimeout(() =>
{
  console.log("Hello, Fundebug!");
}, 100)

由于低版本的瀏覽器沒有支持ES6語法,這就意味著代碼會出錯。例如,在IE 10瀏覽器中,會出現(xiàn)”語法錯誤”:

如果你使用了Fundebug錯誤監(jiān)控服務,則會收到這樣的報錯:

直接使用babel轉(zhuǎn)碼

當你使用更高版本的JavaScript語法時,比如ES7,低版本的瀏覽器將無法運行。為了兼容低版本的瀏覽器,比如萬惡的IE,我們不得不使用Babel ,將ES6、ES7等高版本代碼轉(zhuǎn)換為ES5代碼。

安裝 babel-cli

sudo npm install --global babel-cli

使用babel命令轉(zhuǎn)碼

babel test.js --out-file compiled.js

轉(zhuǎn)碼之后生成的代碼為compiled.js

setTimeout(function () {
  console.log("Hello, Fundebug!");
}, 100);

可知,箭頭函數(shù)轉(zhuǎn)換成了function,這樣就代碼可以在IE 10等不支持ES6的瀏覽器上正確執(zhí)行了。

廣告:歡迎免費試用Fundebug,助您第一時間發(fā)現(xiàn)代碼BUG。

使用webpack運行Babel

一般項目中都會使用 webpack 對代碼進行打包,比如,將多個js文件打包成1個js文件,這樣可以減少前端的資源請求。因此,我們需要將Babel也集成到webpack中。

安裝webpack

npm install --global webpack

我使用的webpack版本為4.10.0

webpack --version
4.10.0

安裝babel

npm install --save-dev babel-cli babel-preset-env

babel-preset-env 是Babel新版的preset,它可以讓我們 靈活地設置代碼目標執(zhí)行環(huán)境 ,比如只支持各個瀏覽器最新的2個版本,支持IE8及其以上的IE瀏覽器。

安裝babel-loader

npm install --save-dev babel-loader

babel-loader 是webpack的babel插件,它讓我們可以在wepback中運行Babel。

配置babel

新增 .babelrc 文件:

{
  "presets": ["env"]
}

配置webpack

新增 webpack.config.js 文件:

module.exports = {
  entry: './test.js',
  output:
  {
    path: __dirname,
    filename: 'bundle.js'
  },
  module:
  {
    rules: [
    {
      test: /\.js$/,
      exclude: /node_modules/,
      loader: 'babel-loader'
    }]
  }
};

可知,我們在webpack中使用了babel-loader插件來運行Babel,轉(zhuǎn)換所有的.js代碼(除了node_modules中的代碼)。

使用webpack運行babel

webpack --mode production

轉(zhuǎn)換之后的代碼為bundle.js 。bundle.js只有1行代碼,這是因為為我們指定的mode為production,webpack為了壓縮代碼只生成了1行代碼。

參考

webpack 配合babel 將es6轉(zhuǎn)成es5 超簡單實例

Babel入門教程

babel-preset-env: a preset that configures Babel for you

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • javascript基礎(chǔ)進階_深入剖析執(zhí)行環(huán)境及作用域鏈

    javascript基礎(chǔ)進階_深入剖析執(zhí)行環(huán)境及作用域鏈

    下面小編就為大家?guī)硪黄猨avascript基礎(chǔ)進階_深入剖析執(zhí)行環(huán)境及作用域鏈。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • JS實現(xiàn)判斷圖片是否加載完成的方法分析

    JS實現(xiàn)判斷圖片是否加載完成的方法分析

    這篇文章主要介紹了JS實現(xiàn)判斷圖片是否加載完成的方法,結(jié)合實例形式分析了javascript常見的圖片加載完成判斷方法與相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • JavaScript函數(shù)定義方法實例詳解

    JavaScript函數(shù)定義方法實例詳解

    這篇文章主要介紹了JavaScript函數(shù)定義方法,結(jié)合實例形式較為詳細的分析了javascript函數(shù)的聲明、定義、調(diào)用等原理與常見操作技巧,需要的朋友可以參考下
    2019-03-03
  • JavaScript自學筆記(必看篇)

    JavaScript自學筆記(必看篇)

    下面小編就為大家?guī)硪黄狫avaScript自學筆記(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • 超簡單的微信小程序輪播圖

    超簡單的微信小程序輪播圖

    這篇文章主要為大家詳細介紹了超簡單的微信小程序輪播圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Clipboard.js 無需Flash的JavaScript復制粘貼庫

    Clipboard.js 無需Flash的JavaScript復制粘貼庫

    這篇文章主要介紹了JavaScript 內(nèi)容復制(無需flash) Clipboard.js使用方法,需要的朋友可以參考下
    2015-10-10
  • 你真的了解BOM中的history對象嗎

    你真的了解BOM中的history對象嗎

    你真的了解BOM中的history對象嗎?具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Javascript+CSS3實現(xiàn)進度條效果

    Javascript+CSS3實現(xiàn)進度條效果

    本篇文章主要介紹Javascript+CSS3實現(xiàn)進度條效果,可以實現(xiàn)給用戶一個等待的過程,有需要的可以了解一下。
    2016-10-10
  • js面向?qū)ο笾畬崿F(xiàn)淘寶放大鏡

    js面向?qū)ο笾畬崿F(xiàn)淘寶放大鏡

    這篇文章主要為大家詳細介紹了js面向?qū)ο笾畬崿F(xiàn)淘寶放大鏡,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • 在layui框架中select下拉框監(jiān)聽更改事件的例子

    在layui框架中select下拉框監(jiān)聽更改事件的例子

    今天小編就為大家分享一篇在layui框架中select下拉框監(jiān)聽更改事件的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09

最新評論