最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Rollup 簡易入門示例教程

 更新時(shí)間:2023年02月20日 11:54:03   作者:超神熊貓  
這篇文章主要為大家介紹了Rollup 簡易入門示例教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

Rollup介紹及使用

1、Rollup 概述

  • 僅僅是 ES Module 的打包器
  • Rollup 與 Webpack 作用類似,相比于Webpack,Rollup更為小巧
  • Rollup 中并不支持類似 HRM 特性

初衷:提供一個(gè)充分利用ESM(ES Module)各項(xiàng)特性的高效打包器

2、Rollup 快速上手

安裝:yarn add rolluo --dev
用法:
    yarn rollup  //不傳遞任何參數(shù)的情況下,打印Rollup的幫助信息
    yarn rollup ./src/index.js --format iife //執(zhí)行index.js文件并以iife(自調(diào)用函數(shù))的方式輸出(--format指定輸出格式)
    yarn rollup ./src/index.js --format iife --file dist/bundle.js //輸出文件到dist/bundle.js
默認(rèn)開啟chunk去掉多余代碼,優(yōu)化輸出結(jié)果

3、Rollup 配置文件

rollup.config.js

export default {
input: 'src/index.js',
    output: {
        file: 'dist/bundle.js',
        format: 'iife'
    }
}

4、Rollup 使用插件

插件是Rollup的擴(kuò)展途徑

rollup.config.js

5、Rollup 加載 NPM 模塊

Rollup默認(rèn)只能根據(jù)文件路徑加載本地的文件模塊,第三方模塊不能直接通過模塊名稱去導(dǎo)入

rollup-plugin-node-resolve:安裝后Rollup可直接通過模塊名稱導(dǎo)入模塊
安裝:yarn add rollup-plugin-node-resolve --dev

rollup.config.js

import resolvefrom 'rollup-plugin-node-resolve'
export default {
input: 'src/index.js',
    output: {
        file: 'dist/bundle.js',
format: 'iife'
    },
    plugins: [
        resolve()
    ]
}

6、Rollup 加載 CommonJS 模塊

rollup-plugin-commonjs:因?yàn)镽ollup默認(rèn)只能處理ESM模塊,使用這個(gè)插件Rollup就可以處理CommonJS

安裝:yarn add rollup-plugin-commonjs --dev

rollup.config.js

import commonjsfrom 'rollup-plugin-commonjs'
export default {
input: 'src/index.js',
    output: {
        file: 'dist/bundle.js',
format: 'iife'
    },
    plugins: [
        commonjs()
    ]
}

7、Rollup 代碼拆分

運(yùn)行:yarn rollup

index.js

import('./logger').then(({ log }) => {
    log('code splitting~')
})

rollup.config.js

export default {
	input: 'src/index.js',
	  output: {
	      dir: 'dist',
	      format: 'amd'
  }
}

8、Rollup 多入口打包

多入口打包內(nèi)部會(huì)自動(dòng)提取公共模塊,也就是說內(nèi)部會(huì)使用代碼拆分

rollup.config.js

方式1:

export default {
input: ['src/index.js', 'src/album.js'],
    output: {
        dir: 'dist',
        format: 'amd'
    }
}

方式2:

export default {
input: {
        foo: 'src/index.js',
        bar: 'src/album.js'
    },
output: {
dir: 'dist',
        format: 'amd'
    }
}

9、Rollup 選用原則

Rollup優(yōu)勢:
    輸出結(jié)果更加扁平(執(zhí)行效率更高)
    自動(dòng)移除未引用的代碼
    打包結(jié)果依然完全可讀(和手寫代碼一致)

Rollup缺點(diǎn):
    加載非ESM的第三方模塊比較復(fù)雜(需要配置一大堆插件)
    模塊最終都被打包到一個(gè)函數(shù)中,無法實(shí)現(xiàn)HMR
    瀏覽器環(huán)境中,代碼拆分功能依賴AMD庫

選用:
    開發(fā)應(yīng)用程序    選用Webpack,大而全
    開發(fā)框架或類庫  選用Rollup,小而美

10、Parcel

零配置的前端應(yīng)用打包器

安裝:

yarn add parcel-bundler --dev 

運(yùn)行:

yarn parcel src/index.html 
//index.html為入口文件 

優(yōu)勢:
支持自動(dòng)安裝依賴 支持動(dòng)態(tài)導(dǎo)入 相同體量下,Parcel比Webpack打包要快,因?yàn)镻arcel使用的是多進(jìn)程同時(shí)工作,充分發(fā)揮了多核CPU的性能(Webpack也可以使用happypack插件實(shí)現(xiàn)多進(jìn)程)

以上就是Rollup 簡易入門示例教程的詳細(xì)內(nèi)容,更多關(guān)于Rollup 入門教程的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • TypeScript十大排序算法之選擇排序?qū)崿F(xiàn)示例詳解

    TypeScript十大排序算法之選擇排序?qū)崿F(xiàn)示例詳解

    這篇文章主要為大家介紹了TypeScript十大排序算法之選擇排序?qū)崿F(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • TypeScript數(shù)據(jù)結(jié)構(gòu)鏈表結(jié)構(gòu)?LinkedList教程及面試

    TypeScript數(shù)據(jù)結(jié)構(gòu)鏈表結(jié)構(gòu)?LinkedList教程及面試

    這篇文章主要為大家介紹了TypeScript數(shù)據(jù)結(jié)構(gòu)鏈表結(jié)構(gòu)?LinkedList教程及面試,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • TypeScript之Generics泛型類型學(xué)習(xí)

    TypeScript之Generics泛型類型學(xué)習(xí)

    這篇文章主要為大家介紹了TypeScript之Generics泛型類型學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • postman數(shù)據(jù)加解密實(shí)現(xiàn)APP登入接口模擬請求

    postman數(shù)據(jù)加解密實(shí)現(xiàn)APP登入接口模擬請求

    對于Postman的使用,一般情況下只要發(fā)發(fā)確定的請求與參數(shù)就可以的了,然而,在使用的時(shí)候,尤其是接口測試時(shí),請求接口的設(shè)計(jì)里面都有數(shù)據(jù)加密,參數(shù)驗(yàn)簽,返回?cái)?shù)據(jù)也有進(jìn)行加密的,這個(gè)時(shí)候就需要使用一些腳本做處理,模擬app登入請求的操作
    2021-08-08
  • Typescript裝飾器AOP示例詳解

    Typescript裝飾器AOP示例詳解

    這篇文章主要為大家介紹了Typescript裝飾器AOP示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • Rollup 簡易入門示例教程

    Rollup 簡易入門示例教程

    這篇文章主要為大家介紹了Rollup 簡易入門示例教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • typescript快速上手的進(jìn)階類型與技術(shù)

    typescript快速上手的進(jìn)階類型與技術(shù)

    本文講述了typescript開發(fā)的一些高級的類型與技術(shù),算是對于基礎(chǔ)知識點(diǎn)的補(bǔ)充,具體內(nèi)容包括:比如元組、枚舉類、接口、泛型相關(guān)概念等。雖說是進(jìn)階,但是內(nèi)容不算多也并不難理解。
    2022-12-12
  • TypeScript 交叉類型使用方法示例總結(jié)

    TypeScript 交叉類型使用方法示例總結(jié)

    這篇文章主要為大家介紹了TypeScript 交叉類型使用方法示例總結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • 高級前端面試手寫扁平數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)Tree

    高級前端面試手寫扁平數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)Tree

    這篇文章主要為大家介紹了高級前端面試手寫扁平數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)Tree示例代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • TypeScript中的數(shù)據(jù)類型enum?type?interface基礎(chǔ)用法示例

    TypeScript中的數(shù)據(jù)類型enum?type?interface基礎(chǔ)用法示例

    這篇文章主要為大家介紹了TypeScript中的數(shù)據(jù)類型enum?type?interface基礎(chǔ)用法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08

最新評論

南和县| 富裕县| 石柱| 五华县| 临高县| 澄迈县| 招远市| 宝山区| 历史| 巴东县| 漯河市| 长沙县| 平定县| 屯门区| 郧西县| 漳平市| 高平市| 苏州市| 肇庆市| 东乌| 红安县| 镇巴县| 灯塔市| 元阳县| 公主岭市| 土默特右旗| 青河县| 鲁山县| 雷州市| 铜梁县| 仲巴县| 白朗县| 西峡县| 屏南县| 准格尔旗| 新河县| 南郑县| 吴川市| 南乐县| 德安县| 井陉县|