国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

webpack3之loader全解析

2024-05-06 16:40:32
字體:
來源:轉載
供稿:網友

首先亮出webpack官方網站,webpack能干什么?官網給出的答案就是,一句話,讓一切變得簡單!

各式各樣的loader層出不窮,讓我們在構建時不知所措,于此,總結下loader的全解析。

概念

loader,顧名思義,加載器,英文的解釋如下:

Loaders are transformations that are applied on the source code of a module. They allow you to pre-process files as you import or “load” them. Thus, loaders are kind of like “tasks” in other build tools, and provide a powerful way to handle front-end build steps. Loaders can transform files from a different language (like TypeScript) to JavaScript, or inline images as data URLs. Loaders even allow you to do things like import CSS files directly from your JavaScript modules!

中文翻譯過來就是:

loader 用于對模塊的源代碼進行轉換。loader 可以使你在 import 或“加載”模塊時預處理文件。因此,loader 類似于其他構建工具中“任務(task)”,并提供了處理前端構建步驟的強大方法。loader 可以將文件從不同的語言(如 TypeScript)轉換為 JavaScript,或將內聯圖像轉換為 data URL。loader 甚至允許你直接在 JavaScript 模塊中 import CSS文件!

從中,可以看出loader的強大作用,分析下:

  1. 轉換的作用。開發所用到的都轉換成網頁加載所必備的html+css+js+img等要求格式的文件。
  2. 轉換對象是源代碼。loader只對源代碼轉換,至于其他的功能,plugins就來接收它做不到的地方。

總結一句話:loader, 加載的機器,形象的比喻下,就像一個豆漿機,放上你的原料,它就開始認真的工作了!

常用的loader

1、babel-loader

This package allows transpiling JavaScript files using Babel and webpack.

加載 ES2015+ 代碼,然后使用 Babel 轉譯為 ES5

安裝:

npm install --save-dev babel-loader babel-core babel-preset-env webpack 

使用:

{ test: //.js$/, exclude: /node_modules/, loader: 'babel-loader'}

2、style-loader

Adds CSS to the DOM by injecting a <style> tag

將模塊的導出作為樣式添加到 DOM 中

安裝:

npm install style-loader --save-dev 

建議要與css-loader一起使用

使用:

{ test: //.css$/, use: [ 'style-loader', 'css-loader']}

3、css-loader

解析 CSS 文件后,使用 import 加載,并且返回 CSS 代碼

安裝:

npm install css-loader --save-dev 

使用:

{ test: //.css$/, use: [ 'style-loader', 'css-loader' ]}

4、less-loader

加載和轉譯 LESS 文件

安裝:

npm install --save-dev less-loader less 

使用:

{ test: //.less$/, exclude: /node_modules/, use: ExtractTextPlugin.extract(['css-loader', 'less-loader'])}

5、url-loader

Loads files as base64 encoded URL

處理圖片類文件,但如果文件小于限制,可以返回 data URL

安裝:

npm install --save-dev url-loader 

使用:

{ test: //.(jpg|jpeg|png|gif)$/, loader: 'url-loader', options: {   limit: 8192 }}

6、file-loader

Instructs webpack to emit the required object as file and to return its public URL

處理font/svg等,將文件發送到輸出文件夾,并返回(相對)URL

安裝:

npm install file-loader --save-dev 

使用:

{ test: //.(woff|woff2|svg|eot|ttf)$/, use: 'file-loader'}

7、vue-loader

加載和轉譯 Vue 組件

安裝:

npm install --save-dev vue-loader vue vue-template-compiler 

使用:

{ test: //.vue$/, loader: 'vue-loader', options: {   loaders: {     less: ExtractTextPlugin.extract({       use: ['css-loader', 'less-loader'],       fallback: 'vue-style-loader'     })   } }}

至此,有關loader中所用的參數請移步官網查詢解決,謝謝查閱!以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 盐山县| 金坛市| 武陟县| 化德县| 大安市| 衡南县| 尚义县| 左权县| 连江县| 洪泽县| 逊克县| 铁岭县| 南丹县| 苍南县| 徐水县| 西峡县| 肥乡县| 泰安市| 集安市| 郯城县| 新田县| 三原县| 罗山县| 南丹县| 潮州市| 安塞县| 灵武市| 峨山| 镇江市| 搜索| 云南省| 同德县| 江川县| 肥东县| 高邑县| 长沙县| 井研县| 道真| 溆浦县| 黎川县| 长寿区|