編寫gulp腳本來復制功能相同內容不同的微信小程序

? ? ? ?最近公司開發小程序,為了占據市場,申請了十幾個小程序,但是每次改一些bug什么的。。都要一次次打開每一個小程序,然后做相同的事情。。所以基于此,用gulp寫了個腳本。。。修改其中一個小程序,然后可以直接同時生成你想要個數的不同內容的小程序。

? ? ? ?首先簡單介紹下gulp

gulp是基于Nodejs的自動任務運行器, 她能自動化地完成 javascript/coffee/sass/less/html/image/css 等文件的的測試、檢查、合并、壓縮、格式化、瀏覽器自動刷新、部署文件生成,并監聽文件在改動后重復指定的這些步驟。在實現上,她借鑒了Unix操作系統的管道(pipe)思想,前一級的輸出,直接變成后一級的輸入,使得在操作上非常簡單。通過本文,我們將學習如何使用Gulp來改變開發流程,從而使開發更加快速高效。(http://www.ydcss.com/archives/18),gulp是基于node.js的庫來進行文件操作的,所以得先裝上node.js,然后大家根據這個網址來進行集成就好,重點說一下package.json,json文件不能有注釋,并且大部分成熟這個文件除了必須設置的屬性外,還需要有

"devDependencies": {

"gulp-imagemin":"^3.0.3",

},

這個屬性,這個屬性里面包含了你的腳本所用到的所有插件, "gulp-imagemin":"^3.0.3"? ?這是個例子

然后再創建一個gulpfile.js文件,這個文件里就是腳本執行的代碼了,這個腳本的邏輯是這樣的:1.刪除指定文件夾下的所有文件(當初復制了多少個小程序就刪除多少個文件夾下的文件)gulp.task('clean',del.bind(null,common.clean_dists))? 2.將資源文件拷貝到指定文件夾下(n個小程序對應n個不同名稱的文件夾)gulp.task('copy',function() {

returngulp.src(dirs+'/**/*')

.pipe(multiDest(common.copy_dists, {mode:'0755'}));

});

最后一步呢,就是把指定文件的字符串替換掉。

gulp.task('generate',next=>{

for(vari=0;i

generateConfig(i)//我把所有需要修改的信息都抽象到了一個js文件中,所以這個方法是修改config.js文件中的一些變量

generatejson(i)//因為我的小程序中app.json文件也需要修改,所以單另出一個方法修改它

}

})

這三步統一到一個方法中gulp.task('build', ['clean'],next=>runSequence('copy','generate','compile',next))

這些方法都寫好后,直接打開終端cd到當前文件夾執行兩個命令:npm install? ?然后再執行gulp build

之所以執行build,是因為在gulpfile.js中我指定了gulp.task('build', ['clean'],next=>runSequence('copy','generate','compile',next))這個方法叫build,并且打算拿這個方法作為js執行的入口,順利的話執行完了,就創建好了對應個數的小程序,這些代碼片段中出現的common是我抽象出來的一個js文件,專門放需要修改的數據數組

先寫這么多吧,項目是公司的,所以源碼不能公開,各位有什么不懂的我們可以一起討論,這個東西入門比較麻煩,但是寫好了還是很方便的,主要用到了一些gulp的插件和node.js的語法,我沒有學過node.js所以這個是和同事一起完成的。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 前言 本文默認你已經安裝好node環境,并且熟悉node命令,和window cd命令。 gulp簡介 基于nod...
    9I閱讀 1,993評論 4 50
  • 在現在的前端開發中,前后端分離、模塊化開發、版本控制、文件合并與壓縮、mock數據等等一些原本后端的思想開始...
    Charlot閱讀 5,497評論 1 32
  • 安裝Gulp首先需要安裝Node.js,并在控制臺輸入$ npm install gulp -gMac端需要寫成$...
    LaBaby_閱讀 957評論 0 1
  • 對網站資源進行優化,并使用不同瀏覽器測試并不是網站設計過程中最有意思的部分,但是這個過程中的很多重復的任務能夠使用...
    懵逼js閱讀 1,088評論 0 8
  • 編輯于2015年 轉載自某作者的譯文 作者要是看到請聯系我注明出處 對網站資源進行優化,并使用不同瀏覽器測試并不是...
    krock01閱讀 455評論 0 2