92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线

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

2020-4-22    seo達人

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

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

方案1

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

這里就不詳細說了,代碼參考Wux。

方案2

非常簡單直接,使用Webstorm/IDEAFile Watchers功能實時轉換。

安裝Ruby和sass

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

安裝File Watchers

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

1.png

添加scss的轉換腳本

現在安裝完插件打開項目會自動彈出scss轉css的向導,方便了很多。但還需要做一些修改,配置如下:

2.png

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

其次,將Arguments改為:

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

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

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

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

style可不加,這里用的是無縮進和壓縮的風格,反正小程序打包發布時還會壓,這里保持可讀性。

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

注意到File Watchers列表的右側操作欄下方有導入導出按鈕,可以將現在配好的設置導出保存,將來新建項目時只要導入一下就行了。


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

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

所以遍歷這個行為只能交給nodejs來實現,代碼如下:

創建編譯腳本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規則,下劃線開頭的文件不會生成css } // exec可以讓nodejs執行外部命令 exec(`sass --no-cache --sourcemap=none --default-encoding utf-8 --style expanded ${file}:${newFileWithoutExt}.acss`, { cwd: path.dirname(file) // 不寫這個會導致生成的文件出現在根目錄 }, (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",
  },

日歷

鏈接

個人資料

藍藍設計的小編 http://www.skdbbs.com

存檔

92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线
www.欧美精品| 亚洲日本成人女熟在线观看| 91免费在线视频| 在线亚洲午夜片av大片| 亚洲国产中文字幕久久网| 另类色图亚洲色图| 国产欧美最新羞羞视频在线观看| 亚洲国产欧美一区二区三区久久| 91成人福利在线| 中文字幕亚洲字幕| 欧美性69xxxx肥| 在线播放国产精品| 国产精品96久久久久久又黄又硬| 91精品在线一区| 国产精品99久久久久久久久| 欧美成人在线影院| 国产精品白丝jk喷水视频一区| 亚洲精品99999| 亲爱的老师9免费观看全集电视剧| 91精品国产综合久久香蕉的用户体验| 成人激情综合网| 亚洲精品欧美极品| 91啪国产在线| 91午夜理伦私人影院| 久久精品这里热有精品| www.日韩不卡电影av| 国产激情综合五月久久| 国产精品老牛影院在线观看| 26uuu另类亚洲欧美日本老年| 日韩精品日韩在线观看| 富二代精品短视频| 欧美日韩综合视频网址| 欧美性xxxxx极品| 久久精品国产亚洲7777| 亚洲女人天堂av| 亚洲综合中文字幕68页| 69国产精品成人在线播放| 久久久久免费精品国产| 亚洲最大福利视频网站| 日本亚洲欧洲色α| 国产欧美精品va在线观看| 欧美成人手机在线| 精品欧美国产一区二区三区| 欧美巨猛xxxx猛交黑人97人| 亚洲理论电影网| 日本精品中文字幕| 国产精品69久久久久| 亚洲欧美日韩中文在线制服| 欧美国产日产韩国视频| 亚洲综合中文字幕在线观看| 欧美天堂在线观看| 国外成人免费在线播放| 久久精品国产一区二区电影| 日本久久精品视频| 国内免费久久久久久久久久久| 国产欧美日韩最新| 日韩精品中文字幕久久臀| 日韩精品在线观| 亚洲视频在线播放| 欧美精品video| 欧美丝袜一区二区| 欧洲亚洲免费在线| 国产一区二区三区欧美| 在线观看精品国产视频| 国产精品久久久久99| 国产亚洲美女精品久久久| 亚洲精品动漫久久久久| 性欧美视频videos6一9| 日韩av在线看| 97精品视频在线观看| 亚洲乱码国产乱码精品精| 国产精品电影久久久久电影网| 精品久久久久久电影| 欧美日韩一区免费| 91精品国产综合久久香蕉922| 国产在线观看精品一区二区三区| 九色91av视频| 久久精品91久久香蕉加勒比| 尤物yw午夜国产精品视频明星| 日韩电影免费观看中文字幕| 欧美高清在线视频观看不卡| 国产高清视频一区三区| 欧美日韩亚洲精品内裤| 欧美大片大片在线播放| 国产欧美一区二区三区久久| 中文字幕欧美精品在线| 欧美高清视频一区二区| 久久成人精品电影| 亚洲在线观看视频| 亚洲视频在线观看免费| 国内精品视频久久| 日产精品99久久久久久| 亚洲欧洲一区二区三区久久| 亚洲免费高清视频| 伊人久久男人天堂| 中文字幕亚洲欧美日韩在线不卡| 国产一区二区三区毛片| 亚洲系列中文字幕| 热99精品只有里视频精品| 91产国在线观看动作片喷水| 久久国产精品久久久久久| 精品久久中文字幕久久av| 久久久91精品国产| 国产精品91免费在线| 国产精品精品久久久| 成人妇女免费播放久久久| 这里只有精品在线播放| 中文.日本.精品| 国产成人激情小视频| 91po在线观看91精品国产性色| 日本精品视频网站| 亚洲男人天堂网站| 高清欧美性猛交xxxx黑人猛交| 亚洲区bt下载| 欧美一区二三区| 午夜精品一区二区三区在线| 国产精品久久久久久av下载红粉| 欧美高清在线视频观看不卡| 久久久久久久久电影| 在线视频欧美日韩| 欧美劲爆第一页| 亚洲视屏在线播放| 国产在线观看精品| 国产精品69精品一区二区三区| 国产视频观看一区| 奇米影视亚洲狠狠色| 中文字幕在线观看日韩| 久久精品国产亚洲精品2020| 久久影院在线观看| 91精品久久久久久久久青青| 欧美孕妇毛茸茸xxxx| 日韩欧美国产激情| 亚洲黄色免费三级| 日韩高清av在线| 欧美视频一区二区三区…| 国产一区在线播放| 亚洲人成在线观看网站高清| 国产精品高清在线| 欧美日韩国产激情| 在线观看久久久久久| 国产精品亚洲美女av网站| 久久久久久12| 日韩欧美一区二区在线| 热99精品只有里视频精品| 成人两性免费视频| 日韩国产精品视频| 欧美日韩成人黄色| 欧美精品做受xxx性少妇| 精品国产91久久久久久| www高清在线视频日韩欧美| 2019最新中文字幕| 国产美女被下药99| 91久久夜色精品国产网站| 欧美色videos| 最近的2019中文字幕免费一页| 国产亚洲一区二区在线| 国产精品亚洲片夜色在线| 日韩在线资源网| 精品国产精品自拍| 欧美激情aaaa| 一区二区在线免费视频| 欧美一级大片在线免费观看| 中国china体内裑精亚洲片| 在线播放国产一区二区三区|