本發(fā)明屬于計(jì)算機(jī)軟件,更具體地,涉及一種前端工作流實(shí)現(xiàn)方法及系統(tǒng)。
背景技術(shù):
1、隨著軟件前端技術(shù)的快速發(fā)展,各種構(gòu)建工具和框架層出不窮,開發(fā)者需要花費(fèi)大量時(shí)間學(xué)習(xí)和配置不同的工具,并由此引申出一系列問題。例如,舊項(xiàng)目一直采用前端和后端混合開發(fā)的模式,大大增加了項(xiàng)目維護(hù)的復(fù)雜度;又例如,在面向?qū)W?;蚰承┨厥鈾C(jī)構(gòu)的開發(fā)時(shí),產(chǎn)品需要做極端的向下兼容,這往往會(huì)讓新人開發(fā)者望而卻步,從而導(dǎo)致開發(fā)人員的成本上升;再例如,在絕大多數(shù)中小型企業(yè)中,不同開發(fā)者維護(hù)的各項(xiàng)目之間的工具和配置往往不一致,導(dǎo)致一旦核心開發(fā)者不在時(shí)項(xiàng)目維護(hù)困難。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于解決現(xiàn)有軟件前端開發(fā)存在的工具繁多、配置復(fù)雜以及項(xiàng)目維護(hù)困難的問題。
2、為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種前端工作流實(shí)現(xiàn)方法及系統(tǒng)。
3、根據(jù)本發(fā)明的第一方面,提供一種前端工作流實(shí)現(xiàn)方法,所述前端工作流實(shí)現(xiàn)方法包括以下步驟:
4、全局安裝用于編譯項(xiàng)目代碼的balmjs核心開發(fā)工具;
5、在項(xiàng)目根目錄下創(chuàng)建balm配置文件,根據(jù)項(xiàng)目需求配置參數(shù),所述參數(shù)用于控制所述balmjs核心開發(fā)工具的編譯行為,以適配不同的前端框架和項(xiàng)目結(jié)構(gòu);
6、使用統(tǒng)一的balm腳本命令調(diào)用所述balmjs核心開發(fā)工具進(jìn)行開發(fā)、構(gòu)建和調(diào)試操作,以實(shí)現(xiàn)不同技術(shù)棧項(xiàng)目的統(tǒng)一管理。
7、作為可選的是,所述balm配置文件支持以下任意一種、任意兩種或者三種配置項(xiàng):
8、指定前端框架類型,包括react、vue和jquery;
9、配置項(xiàng)目入口文件、輸出目錄和靜態(tài)資源路徑;
10、定義自定義任務(wù),擴(kuò)展balmjs功能。
11、根據(jù)本發(fā)明的第二方面,提供一種前端工作流實(shí)現(xiàn)系統(tǒng),所述前端工作流實(shí)現(xiàn)系統(tǒng)用于實(shí)現(xiàn)上述任一種前端工作流實(shí)現(xiàn)方法,包括以下功能模塊:
12、腳本解析模塊,用于解析balm腳本命令和配置文件,并傳遞命令和配置參數(shù);
13、任務(wù)執(zhí)行模塊,用于根據(jù)接收到的命令和配置參數(shù)調(diào)用balmjs核心開發(fā)工具進(jìn)行開發(fā)、構(gòu)建和調(diào)試操作;
14、插件管理模塊,用于管理和加載balmjs插件,擴(kuò)展系統(tǒng)功能。
15、作為可選的是,所述balmjs核心開發(fā)工具支持以下任意一種或兩種打包方式:
16、獨(dú)立打包,將前端代碼打包成獨(dú)立的靜態(tài)資源文件;
17、定制化打包,根據(jù)后端框架結(jié)構(gòu)將前端代碼打包到指定目錄。
18、本發(fā)明的有益效果在于:
19、本發(fā)明的前端工作流實(shí)現(xiàn)方法,首先,全局安裝用于編譯項(xiàng)目代碼的balmjs核心開發(fā)工具;其次,在項(xiàng)目根目錄下創(chuàng)建balm配置文件,根據(jù)項(xiàng)目需求配置參數(shù),所述參數(shù)用于控制所述balmjs核心開發(fā)工具的編譯行為,以適配不同的前端框架和項(xiàng)目結(jié)構(gòu);最后,使用統(tǒng)一的balm腳本命令調(diào)用所述balmjs核心開發(fā)工具進(jìn)行開發(fā)、構(gòu)建和調(diào)試操作,以實(shí)現(xiàn)不同技術(shù)棧項(xiàng)目的統(tǒng)一管理。
20、本發(fā)明的前端工作流實(shí)現(xiàn)方法,通過提供統(tǒng)一的配置方式、命令行工具和插件機(jī)制,解決了現(xiàn)有軟件前端開發(fā)存在的工具繁多、配置復(fù)雜以及項(xiàng)目維護(hù)困難的問題。另外,新項(xiàng)目可采用balmcli配套腳手架直接創(chuàng)建,舊項(xiàng)目?jī)H需要通過一些簡(jiǎn)單的安裝配置后便可無縫接入。
21、本發(fā)明的前端工作流實(shí)現(xiàn)系統(tǒng)與上述前端工作流實(shí)現(xiàn)方法屬于一個(gè)總的發(fā)明構(gòu)思,至少具有與上述前端工作流實(shí)現(xiàn)方法相同的有益效果,其有益效果在此不再贅述。
22、本發(fā)明的其他特征和優(yōu)點(diǎn)將在隨后具體實(shí)施方式部分予以詳細(xì)說明。
1.一種前端工作流實(shí)現(xiàn)方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的前端工作流實(shí)現(xiàn)方法,其特征在于,所述balm配置文件支持以下任意一種、任意兩種或者三種配置項(xiàng):
3.用于實(shí)現(xiàn)權(quán)利要求1或2所述前端工作流實(shí)現(xiàn)方法的前端工作流實(shí)現(xiàn)系統(tǒng),其特征在于,包括:
4.根據(jù)權(quán)利要求3所述的前端工作流實(shí)現(xiàn)系統(tǒng),其特征在于,所述balmjs核心開發(fā)工具支持以下任意一種或兩種打包方式: