真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

babel怎么在webpack4.x中進(jìn)行安裝-創(chuàng)新互聯(lián)

這篇文章給大家介紹babel怎么在webpack4.x中進(jìn)行安裝,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),金鳳企業(yè)網(wǎng)站建設(shè),金鳳品牌網(wǎng)站建設(shè),網(wǎng)站定制,金鳳網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,金鳳網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

1、項(xiàng)目根目錄為webpack-test,當(dāng)然這個(gè)名字可以隨意;

2、在項(xiàng)目根目錄下,有一個(gè)index.js文件,代碼如下:

babel怎么在webpack4.x中進(jìn)行安裝

3、index.js所引入的a.js文件采用了ES6語(yǔ)法的箭頭函數(shù),代碼如下:

babel怎么在webpack4.x中進(jìn)行安裝

4、最終打包成dist目錄下的main.js文件,同時(shí)dist目錄下有一個(gè)index.html文件引入main.js的腳本,index.html文件內(nèi)容如下:

babel怎么在webpack4.x中進(jìn)行安裝

一、安裝babel-loader、babel-core、babel-preset-env

這三個(gè)文件都是必需的,但彼此的作用各不相同。

首先,babel-loader作為webpack的loader的一種,作用同其他loader一樣,實(shí)現(xiàn)對(duì)特定文件類型的處理。webpack官方文檔中指出了loader的作用,即:

loader 讓 webpack 能夠去處理那些非 JavaScript 文件(webpack 自身只理解
JavaScript)。loader 可以將所有類型的文件轉(zhuǎn)換為 webpack 能夠處理的有效模塊,然后你就可以利用 webpack的打包能力,對(duì)它們進(jìn)行處理。

雖然webpack本身就能夠處理.js文件,但無(wú)法對(duì)ES2015+的語(yǔ)法進(jìn)行轉(zhuǎn)換,babel-loader的作用正是實(shí)現(xiàn)對(duì)使用了ES2015+語(yǔ)法的.js文件進(jìn)行處理。

要使用babel,首先要安裝babel-loader,命令行中定位到項(xiàng)目根目錄輸入以下指令進(jìn)行安裝:

npm install -D babel-loader

筆者這里安裝完成后顯示版本是babel-loader@7.1.4。

第二,babel-core的作用在于提供一系列api。這便是說,當(dāng)webpack使用babel-loader處理文件時(shí),babel-loader實(shí)際上調(diào)用了babel-core的api,因此也必須安裝babel-core:

npm install -D babel-core

筆者安裝完成顯示版本為babel-core@6.26.0。

第三,babel-preset-env的作用是告訴babel使用哪種轉(zhuǎn)碼規(guī)則進(jìn)行文件處理。事實(shí)上,babel有幾種規(guī)則都可以實(shí)現(xiàn)對(duì)ES6語(yǔ)法的轉(zhuǎn)碼,如babel-preset-es2015、babel-preset-latest、babel-preset-env,不過官方現(xiàn)已建議采用babel-preset-env,本文也將采用babel-preset-env,你可以通過官網(wǎng)了解幾種規(guī)則的區(qū)別。同樣在命令行中定位到項(xiàng)目根目錄,輸入以下指令進(jìn)行安裝:

npm install -D babel-preset-env

筆者安裝的版本是babel-preset-env@1.6.1。

二、配置babel 規(guī)則

上面僅僅是安裝了三個(gè)包,如果要使babel起作用,便需要配置babel規(guī)則。

第一種方式是通過package.json。在package.json文件中增加一個(gè)“babel"屬性,該屬性是一個(gè)JSON對(duì)象,作用是設(shè)置項(xiàng)目中的babel轉(zhuǎn)碼規(guī)則和使用到的babel插件,其基本格式如下:

"babel":{
 "presets": [],
 "plugins": []
}

”presets”屬性字段設(shè)定轉(zhuǎn)碼規(guī)則,”plugins”屬性設(shè)置使用到的插件。在本項(xiàng)目中只需將”babel”屬性 的”presets”:設(shè)置為[“env”]即可,如下所示:

"babel":{
 "presets": ["env"]
}

上面的設(shè)置告訴npm本項(xiàng)目將使用babel,并且使用bable-preset-env規(guī)則進(jìn)行轉(zhuǎn)碼,即實(shí)現(xiàn)對(duì)ES2015+語(yǔ)法進(jìn)行轉(zhuǎn)碼。

除此之外,還有第二種方式,即通過.babelrc文件。在項(xiàng)目根目錄下新建.babelrc文件,里面只需輸入第一種方式中”babel”屬性的值即可:

{
 "presets": ["env"]
}

作用和第一種方式相同。

三、建立并配置webpack.config.js文件

僅有上面仍然不能起作用,雖然上面已經(jīng)配置好babel的規(guī)則,但webpack仍然不知道何時(shí)使用該規(guī)則,這便需要使用webpack.config.js文件。

這個(gè)文件的作用是對(duì)webpack打包的參數(shù)進(jìn)行配置。我的第一篇關(guān)于webpack4.x的文章《webpack4.x開發(fā)環(huán)境配置》中已經(jīng)提到,webpack4.x中webpack.config.js這樣的配置文件不是必須的,但事實(shí)上,如果想要進(jìn)行更加個(gè)性化的打包配置,仍然要使用該文件。在根目錄下新建webpack.config.js文件,在其中輸入:

module.exports={
  module:{
    rules:[
      {
        test: /\.js$/,
         exclude: /node_modules/, 
         loader: "babel-loader"
      }
    ]
  }

}

這就告訴webpack打包時(shí),一旦匹配到.js文件就使用babel-loader進(jìn)行處理,如前文所述,babel-loader調(diào)用babel-core的api使用bable-preset-env的規(guī)則進(jìn)行轉(zhuǎn)碼。這里并沒有使用entry、output這樣的參數(shù),這是webpack4.x有默認(rèn)的入口和出口,本項(xiàng)目無(wú)須改變,因此便不必進(jìn)行設(shè)置。

四、運(yùn)行查看結(jié)果

假使你已經(jīng)在package.json文件的"scripts"屬性下增加了"build"屬性,即

"build": "webpack --mode production --progress --display-modules --colors --display-reasons"

現(xiàn)在,在命令行定位到項(xiàng)目根目錄,執(zhí)行

npm run build

這就相當(dāng)于執(zhí)行"build"屬性對(duì)應(yīng)的腳本。

現(xiàn)在,webpack開始進(jìn)行打包,當(dāng)打包完成后,用瀏覽器打開dist目錄下的index.html查看結(jié)果,可以發(fā)現(xiàn)彈出兩次彈窗

第一次是"hello world",第二次是"2,3,4"。

這表明a.js中的arrowTest()函數(shù)成功執(zhí)行,打開main.js查看打包后的代碼,也可以發(fā)現(xiàn)箭頭函數(shù)部分的代碼已經(jīng)被轉(zhuǎn)換成ES5的語(yǔ)法,如下:

[1,2,3].map(function(r){return r+1})

關(guān)于babel怎么在webpack4.x中進(jìn)行安裝就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。


網(wǎng)站標(biāo)題:babel怎么在webpack4.x中進(jìn)行安裝-創(chuàng)新互聯(lián)
鏈接分享:http://weahome.cn/article/dcgsjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部