国产黄色免费网站_久久天天做天天爱综合色_精品国产一区久久久_成人黄色激情网站_久久成人在线视频_美女一区二区在线观看_亚洲精品免费一区亚洲精品免费精品一区 _91精品国产综合久久精品麻豆

使用scss開發(fā)小程序(各種小程序平臺通用)

2020-4-22    seo達(dá)人

微信小程序的wxss、阿里旗下淘寶、支付寶小程序的acss等等語法很類似原生css,但是在web開發(fā)里用慣了動態(tài)css語言,再寫回原生css很不習(xí)慣,尤其是父子樣式的嵌套寫法非常繁瑣。

因此,我希望能有一個自動化構(gòu)建方案,能夠簡單地將scss轉(zhuǎn)換成小程序的樣式語言。

方案1

以前寫微信小程序的依賴庫時用過,使用gulp編譯,將源碼和編譯后的代碼分別放到src和dist兩個目錄。gulp會處理src下面的所有文件,將其中的scss轉(zhuǎn)換成css,并將其他所有文件原封不動挪到dist下相應(yīng)位置。

這里就不詳細(xì)說了,代碼參考Wux

方案2

非常簡單直接,使用Webstorm/IDEAFile Watchers功能實(shí)時轉(zhuǎn)換。

安裝Ruby和sass

確保命令行輸入sass -v能出現(xiàn)版本號,安裝過程略。

安裝File Watchers

到插件市場上搜索并安裝(已安裝則跳過)

1.png

添加scss的轉(zhuǎn)換腳本

現(xiàn)在安裝完插件打開項(xiàng)目會自動彈出scss轉(zhuǎn)css的向?qū)В奖懔撕芏唷5€需要做一些修改,配置如下:

2.png

首先要將生成文件的后綴名改掉,比如這里我的淘寶小程序就得是acss

其次,將Arguments改為:

$FileName$:$FileNameWithoutExtension$.acss --no-cache --sourcemap=none --default-encoding utf-8 --style expanded

如果不加--no-cache,scss文件同目錄下會出現(xiàn)一個.sass-cache目錄。

如果不加--sourcemap=none, scss文件同目錄下會出現(xiàn)一個.map文件。

如果不加--default-encoding utf-8, scss文件如果有中文注釋轉(zhuǎn)換就會報錯。

style可不加,這里用的是無縮進(jìn)和壓縮的風(fēng)格,反正小程序打包發(fā)布時還會壓,這里保持可讀性。

現(xiàn)在這個scss轉(zhuǎn)換是單獨(dú)作用于項(xiàng)目的,如果新建一個小程序項(xiàng)目,就需要重新添加(不建議設(shè)置成global,容易誤傷)。

注意到File Watchers列表的右側(cè)操作欄下方有導(dǎo)入導(dǎo)出按鈕,可以將現(xiàn)在配好的設(shè)置導(dǎo)出保存,將來新建項(xiàng)目時只要導(dǎo)入一下就行了。


之后還有一個問題,如果我手動將編譯后的css(即wxss或者acss,下略)文件刪除,scss文件不改動的話,就不會重新編譯出css文件。
或者萬一監(jiān)聽失效或者不夠及時,css還有可能是舊的。
所以還需要一個命令,用來將整個目錄下的scss文件統(tǒng)一轉(zhuǎn)換,確保沒有遺漏和保持代碼。

不過我看了半天sasssass-convert的文檔,沒有找到一個可用的寫法,能讓命令行遍歷指定目錄下的所有scss文件,將其轉(zhuǎn)換成css放到源文件所在目錄,并且將后綴名改為wxss或者acss

所以遍歷這個行為只能交給nodejs來實(shí)現(xiàn),代碼如下:

創(chuàng)建編譯腳本build/scss-convert.js

var path = require("path") var fs = require("fs") const { exec } = require('child_process') const basePath = path.resolve(__dirname, '../') function mapDir(dir, callback, finish) {
  fs.readdir(dir, function(err, files) { if (err) { console.error(err) return }
    files.forEach((filename, index) => { let pathname = path.join(dir, filename)
      fs.stat(pathname, (err, stats) => { // 讀取文件信息 if (err) { console.log('獲取文件stats失敗') return } if (stats.isDirectory()) {
          mapDir(pathname, callback, finish)
        } else if (stats.isFile()) { if (!['.scss'].includes(path.extname(pathname))) { return }
          callback(pathname)
        }
      }) if (index === files.length - 1) {
        finish && finish()
      }
    })
  })
}

mapDir(
  basePath, function (file) { const newFileWithoutExt = path.basename(file, '.scss') if (newFileWithoutExt.startsWith('_')) { return // 按照scss規(guī)則,下劃線開頭的文件不會生成css } // exec可以讓nodejs執(zhí)行外部命令 exec(`sass --no-cache --sourcemap=none --default-encoding utf-8 --style expanded ${file}:${newFileWithoutExt}.acss`, { cwd: path.dirname(file) // 不寫這個會導(dǎo)致生成的文件出現(xiàn)在根目錄 }, (err, stdout, stderr) => { if (err) { console.log(err) return } console.log(`stdout: ${stdout}`)
    })
  }, function() { // console.log('xxx文件目錄遍歷完了') }
)

package.json里添加一條script:

 "scripts": { "scss": "node build/scss-convert",
  },

日歷

鏈接

個人資料

藍(lán)藍(lán)設(shè)計(jì)的小編 http://www.newchinaweekly.com

存檔

我不卡伦不卡影院| 国产精品一区二区美女视频免费看 | 九色国产蝌蚪| 日韩av福利在线观看| 精品国产电影一区二区| 亚洲日本视频| 成人免费av| 美女av一区| 日韩中文在线播放| 偷拍自拍在线看| free性欧美| 美足av综合网| 国产嫩草在线视频| 精精国产xxxx视频在线野外| 夜鲁夜鲁夜鲁视频在线播放| 要久久爱电视剧全集完整观看| 鲁大师精品99久久久| 中日韩男男gay无套| 久久久久一区| 久久婷婷av| 国产又黄又大久久| 成人激情免费电影网址| 国产成人免费视频网站 | 成人污版视频| 亚洲国产精品一区制服丝袜| 亚洲国产精品黑人久久久| 国产午夜精品美女毛片视频| 国产精品无人区| 欧美一卡二卡在线| 亚洲成人久久电影| 国产亚洲人成网站在线观看| 久久最新资源网| 欧美大秀在线观看| 国产精品美女无圣光视频| 3d蒂法精品啪啪一区二区免费| 亚洲自拍av在线| 欧美日韩一区二区三区在线视频| 亚洲国产精品久久久久久女王| 亚洲午夜精品久久| 国产精品宾馆在线精品酒店| 亚洲午夜精品一区| 亚洲乱码国产乱码精品精大量| 精品国产国产综合精品| 久久这里只有精品国产| 无码人妻久久一区二区三区不卡| 秋霞精品一区二区三区| 日韩在线视频第一页| 最近中文字幕第一页| 午夜色香蕉导航| 91破解版在线看| 国产成人午夜| 久久久免费人体| 免费成人网www| 亚洲免费黄色| 婷婷丁香激情综合| 日韩精品小视频| 97久久精品人搡人人玩| 国产精品一区二区免费看| 400部精品国偷自产在线观看| 嫩草av久久伊人妇女超级a| 欧美日韩一区二区区| 亚洲一区电影在线观看| 精品一区二区三区在线成人| av美女在线观看| 狂野欧美性猛交xxxx巴西| 欧美日韩国产高清一区| 欧美裸体xxxx极品少妇| 国产九色91| 蜜桃av免费看| 日本三级一区二区三区| 欧美艾v福利视频在线观看| 诱受h嗯啊巨肉高潮| 91av亚洲| 黄色日韩在线| 国产精品色在线观看| 91麻豆精品国产91久久久| 久久久视频免费观看| 欧美日韩一区在线播放| 无码人妻精品中文字幕| 另类图片亚洲色图| 亚洲欧美一区二区三区| 国产一区二区三区四区在线观看| 亚洲精品97久久| 99c视频在线| 人人艹在线视频| www.激情五月.com| 色视频网站在线| 日本欧美韩国国产| 成人在线一区二区三区| 欧美日韩在线精品一区二区三区激情 | 国产精品456| 久久在线免费视频| 嫩草视频免费在线观看| 成人毛片一区二区三区| av美女网站| 亚洲成人av观看| 亚洲作爱视频| 亚洲福利在线观看| 成年女人18级毛片毛片免费| 国产又粗又猛又爽又黄的视频四季| 少妇人妻精品一区二区三区| 美女被人操视频在线观看| 在这里有精品| 成人在线综合网站| 色综合久久精品亚洲国产| 玖玖爱视频在线| 欧美黑人巨大xxxx猛交| 牛牛视频精品一区二区不卡| 欧美日韩日本国产| 青青在线视频一区二区三区| 日本手机在线视频| 欧美一级片免费在线观看| eeuss影院www免费看| 日韩一区二区中文| 一区二区三区精品在线| 欧美大片免费观看| 成人午夜精品无码区| 成人网6969conwww| 日本高清成人vr专区| 亚洲深夜福利| 欧美精品欧美精品系列| 国产传媒一区| 国产视频不卡在线| 狠狠操图片视频| 精品亚洲a∨一区二区三区18| 成人丝袜高跟foot| 国产91在线播放九色快色| 日本高清一区二区视频| 比比资源-先锋影音资源站| 欧美电影在线观看一区| 色悠久久久久综合欧美99| 91久久久久久久久久久久久| 偷偷色噜狠狠狠狠的777米奇| 能在线观看av网站| 国产精品二区不卡| 国产香蕉一区二区三区在线视频 | 黄视频在线观看www| 亚洲精品一区二区三区在线| 色激情天天射综合网| 国产福利一区二区三区在线观看| 中国a一片一级一片| 欧美成人高清视频在线观看| 91国偷自产一区二区三区成为亚洲经典 | 欧美大片在线看| 国产在线精品观看| 在线视频福利| 99国产精品99久久久久久粉嫩| 久久亚洲精品中文字幕冲田杏梨| 蜜乳av中文字幕| 免费观看一二区视频网站| 日本不卡一区二区| 国产亚洲欧洲黄色| 国产三级在线观看完整版| 三级福利片在线观看| 五月天丁香久久| 久久婷婷国产91天堂综合精品| 综合免费一区二区三区| 91tv精品福利国产在线观看| 91精品国产综合久久精品图片| 日本在线一二三区| 国产日韩欧美精品一区二区三区| 日韩在线网址| 婷婷亚洲久悠悠色悠在线播放| 国产原创中文在线观看 | 美女福利视频在线观看| 蜜桃av成人| 国产人成一区二区三区影院| 特级黄色录像片| 黄页免费观看| 欧美日韩18| 日韩精品欧美国产精品忘忧草| 国产精久久一区二区三区| 丝袜国产免费观看| 2017欧美狠狠色| 98国产高清一区| 四虎电影网址| 国产99久久精品一区二区300| 日韩性生活视频| 亚洲区免费视频| 欧美www.| 色播五月激情综合网| 久久久久国产免费| 九草视频在线观看| 亚洲卡通欧美制服中文| 欧美主播一区二区三区美女 久久精品人| 久草热在线观看| 欧美亚洲精品在线| 国产成人激情视频| av大全在线观看| 99热播精品免费| 日本精品一区二区三区高清 | 26uuu另类欧美亚洲曰本| 成人在线精品视频| 波多野结衣电车| 日韩一区二区中文| 国产在线精品播放| h片在线免费看| 国产99久久久国产精品成人免费| 精品少妇一区二区30p| 丰满人妻妇伦又伦精品国产|