摘要:近期維護組內(nèi)的幾個庫,之前是打包的,本身功能也不復(fù)雜,但因為性能是今年組內(nèi)的重點,為了更小的體積,逐步將打包工具遷移到經(jīng)過一段時間的探索,逐步抽離了一份通用的配置,隱藏細節(jié),使用者可以很方便的使用進行打包介紹提供,,,,,,等基本插件,使用
近期維護組內(nèi)的幾個lib庫,之前是webpack打包的,本身功能也不復(fù)雜,但因為性能是今年組內(nèi)的重點,為了更小的體積,逐步將打包工具遷移到rollup
經(jīng)過一段時間的探索,逐步抽離了一份通用的配置,隱藏細節(jié),使用者可以很方便的使用rollup進行打包
介紹提供alias,eslint,resolve,common,babel,replace,postcss等基本插件,使用者可傳入同名屬性進行相應(yīng)的plugin配置(見使用)
git地址
dev模式提供了基本的啟動服務(wù)以及熱更新功能,服務(wù)啟動在http://127.0.0.1:8080,熱更新默認監(jiān)聽./src目錄
生產(chǎn)環(huán)境提供uglify和filesize功能
使用安裝
yarn add cerate-rollup-config --dev
使用
// rollup.config.js const path = require("path") const baseConfig = require("create-rollup-config"); const config = baseConfig({ alias: { $common: "./src/common" }, replace: { env: JSON.stringify(process.env.NODE_ENV) }, serve: { port: 7001 }, livereload: { watch: "/src" // default } }) export default [ { input: "./src/test.js", output: [ { file: "dist/test.js", format: "cjs" } ], ...config } ]
package.json配置
{ ..., "scripts": { "build": "cross-env NODE_ENV=production rollup -c ./rollup.config.js", "server": "cross-env NODE_ENV=development rollup -c ./rollup.config.js --watch", ... }, ... }部分plugin介紹 postcss
默認開啟了minimize功能
參考:rollup-config-postcss
html將html文件轉(zhuǎn)為字符串,并支持壓縮
參考:rollup-plugin-string-html
遇到的問題 引入外部包時,提示方法不存在原因是:
當引入commonjs包時,如果該包對exports進行了重新賦值,那么通過rollup打包時,獲取不到該值,只能通過namedExports來告知rollup
所以我們打包時,可以輸出多個格式,cjs+umd
參考:https://github.com/rollup/rol...
同時使用 export default 和export寫業(yè)務(wù)代碼的時候,有時候會一起使用export default和export,但在rollup中一起使用的時候,需要注意,打包出來的包是這樣的
// test.js export default { test: "test" } export const test2 = "test2" // 打包后 exports.default = { test: "test" } exports.test2 = "test2"
這樣要注意,通過require("test"),導(dǎo)入的對象是
{ default: { test: "test" }, test2: "test2" }
可能與你的預(yù)期不一致,除非加default,require("test").default
babel有個插件可以解決這個問題:https://github.com/59naga/bab...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/105834.html
摘要:既可以通過一個配置文件使用命令行接口來調(diào)用,也可以他自己的使用。使用最簡單的方法就是通過命令行接口。命令縮寫會以監(jiān)視模式運行。這時運行下將不會有錯誤拋出,包含導(dǎo)入的組件。 介紹 概覽 rollup是一個js打包器,用來將很細碎的js編譯打包成大的復(fù)雜的東西,像是一個庫或者一個應(yīng)用。其使用了ES6自帶的新標準來格式化和打包js代碼,而不是原先的Commonjs或者AMD這類解決方案。ES...
摘要:教程如何使用打包通過這個系列教程一步一步學(xué)習(xí)如何使用更小更快的取代和打包文件。安裝并且創(chuàng)建配置文件。提示是告訴我們實際需要哪些插件的集合。通過下面的命令安裝兩個插件更新然后,引入插件并添加進配置注意屬性是為了幫助模塊遷移到的一部分。 教程:如何使用Rollup打包JavaScript 通過這個系列教程一步一步學(xué)習(xí)如何使用更小更快的Rollup取代webpack和Browserify打包...
摘要:使用進行模塊化打包在之前打包的過程中,命令行中輸出了一行,這表示并沒有收到任何模塊化的格式指令,因此會用默認的模塊標準來對文件進行打包。 前言 最近在做一個提供給瀏覽器和node同時使用的js的url模板工具類,在用什么打包工具上糾結(jié)了一段時間,正好有一天在知乎上看到了關(guān)于rollup的介紹,在自己試了試之后,就決定用rollup.js來打包自己的工具類了。 這篇文章主要是為了讓對ro...
摘要:年月份的時候,將的構(gòu)建工具換成了。的特點代碼分割有兩種組織模塊依賴的方式,同步和異步。而目前在中大型項目中使用得非常廣泛。更多網(wǎng)易技術(shù)產(chǎn)品運營經(jīng)驗分享請訪問網(wǎng)易云社區(qū)。文章來源網(wǎng)易云社區(qū) 本文由作者余伯賢授權(quán)網(wǎng)易云社區(qū)發(fā)布。 2017年4月份的時候,F(xiàn)acebook將React的構(gòu)建工具換成了Rollup。很多人就有疑問了,Webpack不也是Facebook團隊開發(fā)的嗎,為什么不使用...
摘要:根據(jù)官網(wǎng)的解釋,是下一代模塊化工具。之后,模塊化的寫法將更加的趨勢化,我們會將以前的文件切割成多個的細小模塊。從的人數(shù)上,還是持有很大的保留意見的,所有我個人可能會在一些小型或者快速項目中做嘗試而已。 最近看到挺多次 Rollup 這個詞,再也架不住好奇,簡單的學(xué)習(xí)實踐了一下。完整項目庫地址請戳。 PS: ES6 對應(yīng) ES2015,請忽略這些細節(jié)。 什么是 Rollup Rollup...
閱讀 831·2023-04-25 19:49
閱讀 3765·2021-09-30 09:47
閱讀 2756·2021-09-13 10:21
閱讀 2688·2021-08-24 10:04
閱讀 3174·2019-08-30 15:55
閱讀 2317·2019-08-30 15:55
閱讀 2408·2019-08-30 15:54
閱讀 3477·2019-08-30 13:53