webpack配合babel使用

2022-09-07 03:33:11 字數 2813 閱讀 7129

①babel 是乙個 j**ascript 編譯器,可以把es6的語法轉為相容瀏覽器的es5語法

②babel中文官網:

③babel可以單獨使用,但是一般都是和webpack結合一起使用

1、babel-loader babel-core babel-preset-env **換語法)

①安裝依賴:

//

已經在專案裡安裝了webpack的情況下

npm install --s**e-dev babel-loader babel-core babel-preset-env

②配置

//

該檔案其實最終是要在node環境下執行的

const path = require('path')

const htmlwebpackplugin = require('html-webpack-plugin')

//匯出乙個具有特殊屬性配置的物件

module.exports =,

devserver:,

plugins:[

//該外掛程式可以把index.html打包到bundle.js檔案所屬目錄,跟著bundle走

//同時也會自動在index.html中注入script引用鏈結,並且引用的資源名稱,也取決於打包的檔名稱

newhtmlwebpackplugin()

],module:,,}

} ]}}

③打包

2、babel-polyfill 來提供低版本瀏覽器中的不支援api

①安裝依賴

npm install --s**e-dev babel-polyfill
②配置:這樣會在打包的時候提供乙個墊腳片用以相容低版本瀏覽器中不支援的api(相容低版本瀏覽器的乙個方法)

//

該檔案其實最終是要在node環境下執行的

const path = require('path')

const htmlwebpackplugin = require('html-webpack-plugin')

//匯出乙個具有特殊屬性配置的物件

module.exports =,

devserver:,

plugins:[

//該外掛程式可以把index.html打包到bundle.js檔案所屬目錄,跟著bundle走

//同時也會自動在index.html中注入script引用鏈結,並且引用的資源名稱,也取決於打包的檔名稱

newhtmlwebpackplugin()

],module:,,}

}]}}

③打包

3、transform-runtime解決**重複問題

①在打包的過程中,babel會在包裡提供一些工具函式,而這些工具函式可能會重複的出現在多個模組。

②這樣會導致打包的體積過大,所以babel提供了babel-transform-runtime解決這個體積過大的問題

③安裝依賴

npm install babel-plugin-transform-runtime --s**e-

devnpm install babel

-runtime --s**e

④配置

//

該檔案其實最終是要在node環境下執行的

const path = require('path')

const htmlwebpackplugin = require('html-webpack-plugin')

//匯出乙個具有特殊屬性配置的物件

module.exports =,

devserver:,

plugins:[

//該外掛程式可以把index.html打包到bundle.js檔案所屬目錄,跟著bundle走

//同時也會自動在index.html中注入script引用鏈結,並且引用的資源名稱,也取決於打包的檔名稱

newhtmlwebpackplugin()

],module:,,}

}]}}

4、配置cachedirectory可以節省webpack打包編譯時間,預設把打包的結果快取到node_modules/.cache模組下

//

該檔案其實最終是要在node環境下執行的

const path = require('path')

const htmlwebpackplugin = require('html-webpack-plugin')

//匯出乙個具有特殊屬性配置的物件

module.exports =,

devserver:,

plugins:[

//該外掛程式可以把index.html打包到bundle.js檔案所屬目錄,跟著bundle走

//同時也會自動在index.html中注入script引用鏈結,並且引用的資源名稱,也取決於打包的檔名稱

newhtmlwebpackplugin()

],module:,,}

}]}}

webpack關聯babel手記

babel是為了把高階js語法轉為低版本語法,它跟webpack是兩個互不相關的工具,要想將它們關聯起來,需要借助到 1 babel core babel的核心模組 2 babel loader 把 babel 和 webpack 進行關聯的橋梁 3 babel preset env 預設 安裝完之...

webpack中的babel配置

webpage只能處理一部分es6的新語法,更高階的語法不能處理,需要借助第三方loader將高階語法轉換為低階語法 大部分時候用不上,但是如果需要在比較低階的瀏覽器執行時,就需要使用 1.安裝babel相關的包 第一套包 cnpm install babel core babel loader 7...

關於webpack中babel外掛程式的使用

webpack是不能解析es6語法的,需要用到外掛程式來轉化為es5和瀏覽器能識別的檔案 1.cnpm i babel core babel loader 7 babel plugin transform runtime d這裡我使用的cnpm指令安裝可以更快,盡量不要npm和cnpm指令混用,因為...