成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Rollup 快速入門和配置文件

開發(fā) 前端
Rollup 對(duì)代碼模塊使用新的 ES Module 標(biāo)準(zhǔn),而不是以前的社區(qū)模塊化方案,如CommonJS 和 AMD。

[[405734]]

本文轉(zhuǎn)載自微信公眾號(hào)「勾勾的前端世界」,作者西嶺。轉(zhuǎn)載本文請(qǐng)聯(lián)系勾勾的前端世界公眾號(hào)。

概述(Overview)

Rollup 是一個(gè) JavaScript 模塊打包器,可以將小塊代碼編譯成大塊復(fù)雜的代碼。Rollup 對(duì)代碼模塊使用新的 ES Module 標(biāo)準(zhǔn),而不是以前的社區(qū)模塊化方案,如CommonJS 和 AMD。ES6 模塊已經(jīng)被現(xiàn)代化瀏覽器原生實(shí)現(xiàn),2020 年 Vue 作者發(fā)布了 Vite ,定義為下一代前端開發(fā)與構(gòu)建工具,目的是取代依賴 Webpack 打包的各種構(gòu)建工具,而 Vite 的模塊化工具使用的就是 Rollup。

快速入門

使用 npm install --global rollup 進(jìn)行安裝, 運(yùn)行 rollup --help 可以查看可用的選項(xiàng)和參數(shù)。

幫助信息中的提示: Usage: rollup [options] 就展示了 Rollup 的基本用法。我們準(zhǔn)備三個(gè)文件 index.js 為入口主文件, 然后使用 ES6 模塊化語法引入 user.js 和 message.js 文件,并在 mian.js 中使用兩個(gè)文件導(dǎo)出的數(shù)據(jù)內(nèi)容。

  1. // ======= index.js ============ 
  2. import msg from'./message' 
  3. import {names} from'./user' 
  4.  
  5. console.log(names()) 
  6. console.log(msg) 
  7. console.log('Rollup Test Code'
  8.  
  9. // ======== message.js =========== 
  10.  
  11. exportdefault { 
  12.   hi:'Hey ' 
  13.  
  14. // ======== user.js =========== 
  15.  
  16. exportconst names = () => { 
  17.   console.log('xiling'
  18.  
  19. exportconst ages = () => { 
  20.   console.log(666) 

命令行終端執(zhí)行: rollup index.js

  1. rollup index.js 
  2.  
  3. index.js → stdout... 
  4. var msg = { 
  5.   hi: 'Hey ' 
  6. }; 
  7.  
  8. const names = () => { 
  9.  console.log('xiling'); 
  10. }; 
  11.  
  12. console.log(names()); 
  13. console.log(msg); 
  14. console.log('Rollup Test Code'); 

在命令終端中,我們能看到最終打包后的編譯代碼被打印出來了。我們需要的是將小塊的文件代碼打包到一個(gè)大的文件中。想要實(shí)現(xiàn)效果,只需要在命令中添加指定的命令參數(shù)即可: rollup index.js --file bundle.js,生成 bundle.js 文件,代碼如下:

  1. var msg = { 
  2.   hi:'Hey ' 
  3. }; 
  4.  
  5. const names = () => { 
  6.   console.log('xiling'); 
  7. }; 
  8.  
  9. console.log(names()); 
  10. console.log(msg); 
  11. console.log('Rollup Test Code'); 

我們看到打包后的代碼非常簡潔,就是將需要運(yùn)行的代碼按照順序拼裝到一起。注意,是只會(huì)保留用到的代碼。這就是Rollup 最早提出的 Tree-shaking 特性,后來幾乎被所有打包工具參考引入。

什么是 Tree-shaking 呢? 基本原理非常簡單,Rollup 在打包的過程中, 靜態(tài)分析代碼中的 import,只引入最基本最精簡代碼,并將排除任何未實(shí)際使用的代碼。所以可以生成輕量、快速,以及低復(fù)雜度的 library 和應(yīng)用程序。

配置文件

我們一般在命令行中使用 Rollup。你也可以提供一份配置文件(可要可不要)來簡化命令行操作,同時(shí)還能啟用 Rollup 的高級(jí)特性。配置文件是一個(gè)ES6模塊,它對(duì)外暴露一個(gè)對(duì)象,這個(gè)對(duì)象包含了一些 Rollup 需要的選項(xiàng)。通常,我們把這個(gè)配置文件叫做rollup.config.js,它通常位于項(xiàng)目的根目錄。

注意:Rollup 本身會(huì)處理配置文件,所以可以使用 export default 語法——代碼不會(huì)經(jīng)過 Babel 等類似工具編譯,所以只能使用所用Node.js 版本支持的 ES2015 語法。

配置選項(xiàng)列表:https://www.rollupjs.com/guide/big-list-of-options

  1. // rollup.config.js 
  2. exportdefault { 
  3.   // 包的入口點(diǎn) (例如:你的 main.js 或者 index.js) 
  4.   input:'index.js'
  5.   // 出口配置 
  6.   output:{ 
  7.     file:'budle.js',//打包到那個(gè)文件 
  8.     format:'esm'// 生成包的格式 
  9.   } 

輸入:input[string]: 'index.js' 這個(gè)包的入口點(diǎn)(例如:你的 main.js 或者 app.js 或者 index.js)

輸出:output[object]:{}

output.file[string]: 'bundle.js' 要寫入的文件。也可用于生成 sourcemaps,如果適用

output.format[string] :'iife' 生成包的格式。包格式選項(xiàng)可以是下面的任意一個(gè):

amd – 異步模塊定義,用于像 RequireJS 這樣的模塊加載器

cjs – CommonJS,適用于 Node 和 Browserify/Webpack

 

esm – 將軟件包保存為 ES 模塊文件,在現(xiàn)代瀏覽器中可以通過  

 

責(zé)任編輯:武曉燕 來源: 勾勾的前端世界
相關(guān)推薦

2023-08-28 09:14:20

ScrapyPython

2009-06-24 14:17:00

BackingBeanJSF配置文件

2011-02-21 10:31:54

Postfix命令配置

2021-03-12 08:00:00

Kubernetes工具

2020-11-27 09:40:53

Rollup前端代碼

2009-11-09 17:17:31

WCF元數(shù)據(jù)交換

2012-02-06 13:34:49

HibernateJava

2011-01-19 14:00:21

2011-01-13 16:27:26

Linux配置文件

2010-12-28 16:35:32

Outlook 配置文

2010-12-27 14:59:31

Outlook 配置文

2010-02-04 13:43:26

Linux vsFTP

2025-04-09 08:05:00

運(yùn)維告警Prometheus

2011-03-03 09:14:38

PureFTPd

2011-03-28 09:07:26

Nagios配置文件

2011-04-01 16:30:49

Nagios

2011-03-28 15:52:16

Nagios配置文件

2009-07-09 15:55:18

WebWork配置文件

2022-10-28 08:14:44

rollup打包工具庫?

2024-03-05 10:41:51

Rollup前端開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 精品久久精品 | 欧美三区视频 | 久久精品视频免费观看 | 99在线精品视频 | 一区二区av | 国产欧美一区二区三区另类精品 | 伦理午夜电影免费观看 | 中文字幕成人免费视频 | 成人乱人乱一区二区三区软件 | 性色av网站 | 精品国产黄a∨片高清在线 成人区精品一区二区婷婷 日本一区二区视频 | 操人网站| 国产1区| 成人福利视频网站 | 国产精品99久久久精品免费观看 | 91极品尤物在线播放国产 | 精品久久久久久红码专区 | 夜夜爽99久久国产综合精品女不卡 | 天天插天天操 | 美女爽到呻吟久久久久 | 久草色视频 | 久久久999成人 | 国产精品久久久久久影院8一贰佰 | 一区二区三区观看视频 | 色爱综合网 | 欧美精品在线免费 | 中文字幕久久精品 | 一区二区三区四区在线视频 | 中文字幕高清一区 | 精品一区精品二区 | 国产成人精品综合 | 国产美女福利在线观看 | 亚洲乱码一区二区 | 欧美色999 | 国产精品自拍视频 | www久久99 | 中文字幕第90页 | 爱爱视频日本 | 亚洲图片视频一区 | 九九热免费在线观看 | 91精品国产综合久久婷婷香蕉 |