Vue源碼之rollup環(huán)境搭建步驟詳解
搭建環(huán)境
第一步
進(jìn)行初始化,在終端輸入npm init -y生成package.json文件,可以記住所有開發(fā)相關(guān)的依賴。
第二步
--在終端輸,入安裝依賴 npm install rollup rollup-plugin-babel @babel/core @babel/preset-env --save-dev
注:
安裝rollup打包工具,可能需要編譯高級(jí)語(yǔ)法所以需要安裝babel,安裝babel需要在rollup中使用,所以安裝一個(gè)rollup-plugin-babel表示在rollup中使用babel插件,用babel需要安裝babel的核心插件@babel/core,又因?yàn)榘迅呒?jí)語(yǔ)法轉(zhuǎn)為低級(jí)語(yǔ)法所以還需要安裝一些預(yù)設(shè),安裝一個(gè)插件@babel/preset-env,為開發(fā)依賴--save-dev,所以執(zhí)行上面的命令
建立rollup配置文件
在根目錄創(chuàng)建一個(gè)rpllup.config.js文件,配置完成之后就可以通過(guò)rollup進(jìn)行打包,在package.json中就可以配置一段腳本
"scripts": {
// 用rollup來(lái)打包,執(zhí)行rpllup.config.js,-c指定配置文件 -w監(jiān)控文件變化
"dev": "rollup -cw"
},
創(chuàng)建入口文件
創(chuàng)建一個(gè)src目錄,在目錄下新建一個(gè)index.js入口文件
// index.js export const number = 1
打包前準(zhǔn)備
// rpllup.config.js
// rollup默認(rèn)可以導(dǎo)出一個(gè)對(duì)象,作為打包的配置文件
import babel from 'rollup-plugin-babel'
export default {
input:'./src/index.js', // 入口
output:{
file:'./dist/vue.js', // 出口
name:'Vue', // global.Vue
format:'umd', //打包格式: esm es6模塊 commnjs模塊 iife自執(zhí)行函數(shù) umd統(tǒng)一模塊規(guī)范 umd兼容(commnjs模塊 iife自執(zhí)行函數(shù))
sourcemap:true, // 希望可以調(diào)試源代碼
},
plugins:[
//babel一般會(huì)建立一個(gè)單獨(dú)的配置文件.babelrc
babel({
exclude:'node_modules/**' // 排除mode_modules所有文件,不需要打包這些文件
})
]
}
//.babelrc
// preset 預(yù)設(shè)也就是插件集合
{
"presets": [
"@babel/preset-env"
]
}
打包
執(zhí)行npm run dev執(zhí)行成功后根目錄下會(huì)增加一個(gè)dist目錄,目錄中會(huì)生成一個(gè)vue.js文件和vue.js.map文件
//vue.js
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Vue = {}));
})(this, (function (exports) { 'use strict';
var number = 1;
exports.number = number;
Object.defineProperty(exports, '__esModule', { value: true });
}));
//# sourceMappingURL=vue.js.map
測(cè)試一下
在dist目錄中新建一個(gè)index.html,引入index.js,console.log()打印一下Vue
<script src="vue.js"></script>
<script>
console.log(Vue); // {number: 1}
</script>
以上就是Vue源碼之rollup環(huán)境搭建步驟詳解的詳細(xì)內(nèi)容,更多關(guān)于Vue rollup環(huán)境搭建的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
快速修改antd?vue單個(gè)組件的默認(rèn)樣式
這篇文章主要介紹了快速修改antd?vue單個(gè)組件的默認(rèn)樣式方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2022-08-08
簡(jiǎn)單說(shuō)說(shuō)如何使用vue-router插件的方法
這篇文章主要介紹了如何使用vue-router插件的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
Vue.js基礎(chǔ)學(xué)習(xí)之class與樣式綁定
這篇文章主要為大家介紹了Vue.js的Class與樣式綁定,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
vue-i18n的9以上版本中@被用作特殊字符處理,直接用會(huì)報(bào)錯(cuò)問(wèn)題
這篇文章主要介紹了vue-i18n的9以上版本中@被用作特殊字符處理,直接用會(huì)報(bào)錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08

