摘要:是上的一個前端編譯項目,自己在上搜下通過生成的生產和開發環境所需的文件,生產環境會自動帶壓縮及帶,對于不熟悉的同學,可能是個好的學習資料,可以看看里面的源碼及布局,以便于開始自己在公司的項目下面是函數的詳細說明默認類型說明靜態文件生成函數
SLIME PACK是github上的一個前端編譯項目,自己在github上搜下sp-build
通過slime.build生成js、css的生產和開發環境所需的文件,生產環境會自動帶壓縮及帶hash,對于不熟悉gulp的同學,可能是個好的學習資料,可以看看里面的源碼及布局,以便于開始自己在公司的項目
下面是slime.build函數的詳細說明
默認類型說明 //style: ["css", "scss", "sass", "less", "stylus", "styl"] //templet: ["hbs", "swig", "htm", "html", "php", "jsp"] //script: ["js", "jsx", "coffee", "cjsx"] /* * 靜態文件生成函數 * {parm1} {string} // 文件名,完整的文件名稱,如絕對路徑 d:xxxyyy.js * {string} // 配置名,config中默認的名稱,如 config -> pages * {string} // 目錄名,如存在的目錄 d:xxx * {array} // 組合數組,數組元素為string路徑 如 ["d:xxxyyy.js","d:xxxaaa.js"] * {json} // 組合JSON* * {parm2} {boolean}// 打包/分包,true=打包、false=分包 * {parm3} {json object} * return stream 不要理會 */ var slime = require("./_builder/configs/slime.config.js"); slime.build(entry, [pack], [options]) //打包、分包都會產出`{key: value}`對象,vlaue為數組,分包是多元素json options: * [rename] 類型:String --- 分包不支持 //重命名key值 0、slime.build("./a", true, {rename: "xxx",type: "sass"}) //產出 xxx.css 1、slime.build(["a.js","b.js"],{rename: "xxx"}) //產出 xxx.js 2、slime.build({aaa: ["a.jsx","b.js"]},{rename: "xxx"}) //產出 xxx.js 3、slime.build("./abc.js",{rename: "xxx"}) //產出 xxx.js * [type] 類型:String --- script不用指定,style/templet,都需要明確指定,如 //指定文件類型 1、slime.build("./a",{type: "sass"}) 2、slime.build("./a",{type: "hbs"}) * [prepend] 類型:Array --- 分包不支持 //value前插文件 1、slime.build("./a",{prepend: ["./xxx.js"]}) * [apend] 類型:Array --- 分包不支持 //value后插文件 1、slime.build("./a",{apend: ["./xxx.js"]})
# css 示例(coffee) config = require "../configs/config.coffee" test = config.dirs.src + "/css/pages/website/index.scss" #string //產出index.css ary = [ #array //分別產出文件名css config.dirs.src + "/css/pages/website/index.scss", config.dirs.src + "/css/pages/website/error-404.scss", config.dirs.src + "/css/pages/website/error-500.scss" ] testcommon1 = {ggggg: ary} #json //產出ggggg.css testcommon2 = {ggggg: ary,kkkkk: test} #json //產出ggggg.css、kkkkk.css module.exports = (gulp,$,slime)-> return () -> slime.build(test,false,{type: "sass"}); # slime.build(testcommon1,false,{type: "sass"}); # slime.build(testcommon2,{type: "sass"});
# js 示例(coffee) config = require "../configs/config.coffee" test = config.dirs.src + "/js/pages/h5/lazypage/lazypage.jsx" ary = [ config.dirs.src + "/js/pages/h5/loadpage/loadpage.jsx" ] testcommon1 = {ggggg: ary} testcommon2 = {ggggg: ary,kkkkk: test} module.exports = (gulp,$,slime)-> return (cb) -> slime.build(testcommon2,cb);
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/85726.html
摘要:沒有直接使用語言傳統的字符串表示以空字符串結尾的字符數組,而是構建了一種名為簡單動態字符串的抽象類型,并將用作的默認字符串表示。對比字符串,有幾大優點常數復雜度獲取字符串長度杜絕緩沖區溢出減少修改字符串時所需的內存重分配次數。 Redis 沒有直接使用 C 語言傳統的字符串表示(以空字符串結尾的字符數組),而是構建了一種名為簡單動態字符串(simple dynamic string)的...
摘要:直到上個月重新發現的組合自然是大名鼎鼎的,多年來一直享有真正程序員最佳的美譽,但直到這個的出現和接近成熟,它的威力才能被我們享有。完全與一致水平并集成的調試能力。使用了一個多月,對這套感覺仍然好極了,的最佳開發環境,沒有之一。 幾乎從 Clojure 誕生時候起,它的標準開發環境就是 Emacs,對 Lisp 的親近感、slime 對 Lisp 系列語言的支持、paredit 等 Li...
摘要:在這個窗口之上,可以添加各種輸入框按鈕文本等,可以增加對各種動作的處理。事件要與特定的控件相綁定,比如按鈕有點擊事件,輸入框有按鍵事件,窗體有關閉事件等。 在大多數時候,我們都在黑黢黢的控制臺里執行 Python 腳本。這看起來很酷很 GEEK。但對于部分場景下的用戶來說,這樣就不大美觀和人性化了:我們需要交互更方便的圖形化產品,也就是 GUI (圖形用戶界面,Graphical Us...
摘要:已獲原作者授權原系列地址簡介本文講述如何使用的布局管理被稱作或有三種布局管理方式注意這三種布局管理在同一個里一定不可以混用布局管理有以下功能將控件放置在屏幕上包括控件的位置及控件的大小將控件注冊到本地窗口系統中管理控件在屏幕上的顯示雖然控件 已獲原作者授權. 原系列地址: Python Tkinter 簡介: 本文講述如何使用 tkinter 的布局管理 (被稱作 layout ma...
閱讀 3936·2021-11-18 13:19
閱讀 1181·2021-10-11 10:58
閱讀 3291·2019-08-29 16:39
閱讀 3141·2019-08-26 12:08
閱讀 2036·2019-08-26 11:33
閱讀 2460·2019-08-23 18:30
閱讀 1308·2019-08-23 18:21
閱讀 2522·2019-08-23 18:18