嫩草影院久久99_老司机午夜网站国内精品久久久久久久久_久久夜色精品国产_国产一级做a爰片久久毛片

使用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.sdgs6788.com

存檔

嫩草影院久久99_老司机午夜网站国内精品久久久久久久久_久久夜色精品国产_国产一级做a爰片久久毛片
<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 中文成人激情娱乐网| 亚洲视频欧洲视频| 欧美xart系列高清| 亚洲午夜电影| 一区二区电影免费在线观看| 亚洲精品免费一区二区三区| 久久这里有精品视频| 久久久7777| 欧美bbbxxxxx| 亚洲精品久久| 亚洲男女自偷自拍| 久热国产精品视频| 欧美在线观看一二区| 久久精品理论片| 欧美二区在线播放| 中文高清一区| 久久午夜激情| 国产精品v亚洲精品v日韩精品| 国产精品免费一区二区三区观看| 国产精品美女在线| 亚洲欧洲一区二区天堂久久| 亚洲一区国产| 久久影音先锋| 一区二区高清在线| 久久久久久久久久码影片| 欧美—级a级欧美特级ar全黄| 国产精品老女人精品视频| 玉米视频成人免费看| 亚洲伊人久久综合| 欧美不卡福利| 亚洲欧美视频在线| 欧美巨乳波霸| 在线看一区二区| 亚洲欧美怡红院| 亚洲国产精品毛片| 久久av一区二区三区| 欧美视频不卡| 亚洲精品日韩久久| 老牛国产精品一区的观看方式| 日韩天堂av| 欧美午夜一区二区三区免费大片| 性18欧美另类| 美女黄网久久| 亚洲一区精品电影| 久久综合影音| 国产乱子伦一区二区三区国色天香 | 久久夜精品va视频免费观看| 日韩午夜精品视频| 美女网站久久| 亚洲动漫精品| 久久综合九色综合欧美狠狠| 亚洲欧美日本另类| 欧美日韩一区二区三区四区在线观看 | 久久久久久久综合日本| 国产精品久久中文| 中文成人激情娱乐网| 亚洲高清视频中文字幕| 羞羞答答国产精品www一本| 国产精品wwwwww| 亚洲欧美日韩国产综合在线 | 在线观看视频一区二区欧美日韩| 性欧美xxxx视频在线观看| 一区二区三区视频在线观看| 欧美日韩在线三区| 亚洲一区二区三区在线看| 一区二区三区久久| 亚洲欧美另类中文字幕| 亚洲精品一区中文| 欧美激情成人在线| 国产精品久久久久久久久搜平片 | 亚洲第一久久影院| 免费短视频成人日韩| 亚洲欧洲一区二区三区| 欧美国产日本| 欧美xart系列在线观看| 在线综合欧美| 亚洲一区欧美| 精品成人在线视频| 亚洲成人在线网| 欧美成人精品不卡视频在线观看| 欧美在线精品免播放器视频| 黑人极品videos精品欧美裸| 欧美成年人视频网站| 欧美激情视频一区二区三区在线播放 | 久久av免费一区| 狠狠色狠狠色综合日日五 | 亚洲一二三四久久| 国产伊人精品| 亚洲电影免费在线观看| 欧美黑人在线观看| 欧美亚洲一区在线| 久久一区中文字幕| 你懂的国产精品| 免费在线国产精品| 欧美精品乱人伦久久久久久 | 久久久久久午夜| 99香蕉国产精品偷在线观看| 亚洲一二三区精品| 亚洲狠狠婷婷| 亚洲摸下面视频| 日韩图片一区| 欧美在线免费观看| 99精品国产99久久久久久福利| 在线亚洲国产精品网站| 一区二区在线视频播放| 一本久久青青| 亚洲激情校园春色| 午夜欧美不卡精品aaaaa| 亚洲精品中文字幕在线观看| 欧美一区二区视频在线| 洋洋av久久久久久久一区| 欧美一区视频在线| 亚洲午夜精品网| 久久久免费观看视频| 欧美一区视频在线| 欧美日韩免费一区二区三区视频| 久久艳片www.17c.com| 国产精品日日摸夜夜摸av| 亚洲国产天堂久久国产91| 国产一区二区三区精品久久久| 日韩视频在线观看| 亚洲日本va在线观看| 久久久国产91| 久久久高清一区二区三区| 国产精品v欧美精品v日韩精品| 亚洲高清视频在线| 亚洲国产成人在线视频| 久久高清福利视频| 久久激情五月激情| 国产精品成人一区二区| 亚洲经典在线看| 最新中文字幕一区二区三区| 久久午夜视频| 久久大综合网| 国产精品老牛| 亚洲视频在线看| 亚洲永久在线观看| 欧美三区美女| 日韩亚洲在线| 亚洲视频在线一区| 欧美视频二区36p| 欧美激情第8页| 日韩一区二区精品视频| 亚洲大片一区二区三区| 久久久五月天| 欧美sm视频| 亚洲国产高清自拍| 久久久久国产精品www| 欧美成年人视频网站欧美| 亚洲国产一区二区三区高清 | 欧美午夜不卡影院在线观看完整版免费| 欧美高清视频| 亚洲伦理在线免费看| 欧美日韩视频不卡| 亚洲尤物在线视频观看| 久久av一区二区三区漫画| 国产在线精品自拍| 久久综合色影院| 亚洲欧洲日韩女同| 亚洲尤物在线视频观看| 国产日韩欧美电影在线观看| 久久精品视频网| 亚洲高清视频在线| 亚洲欧美自拍偷拍| 国内精品伊人久久久久av一坑| 久久av二区| 亚洲三级电影全部在线观看高清| 亚洲视频综合| 国产亚洲午夜| 欧美激情一区在线观看| 亚洲影院色无极综合| 欧美 亚欧 日韩视频在线| 日韩午夜在线观看视频| 国产日本欧美一区二区| 欧美成人亚洲| 亚洲影院高清在线| 欧美大片在线看| 亚洲欧美成人精品| 久久久成人网| 久久亚洲欧洲| 亚洲图片在线观看| 欧美成人高清| 欧美一区日本一区韩国一区| 在线观看日韩专区| 国产精品久久久久av| 榴莲视频成人在线观看| 亚洲在线免费观看| 亚洲人成欧美中文字幕| 久久久久久尹人网香蕉| 亚洲影院免费| 一区二区激情| 伊甸园精品99久久久久久| 国产精品久久久久一区二区三区| 老司机午夜精品| 羞羞漫画18久久大片| 亚洲一区二区三区四区视频| 亚洲电影在线| 免费久久99精品国产自| 久久不见久久见免费视频1| 亚洲视频在线观看一区|