Flutter筆記-pubspec.yaml文件

1. yaml是什么

YAML是一個(gè)類(lèi)似 XML、JSON 的標(biāo)記性語(yǔ)言。YAML 強(qiáng)調(diào)以數(shù)據(jù)為中心,并不是以標(biāo)識(shí)語(yǔ)言為重點(diǎn)

2. 規(guī)范

  • 大小寫(xiě)敏感
  • 縮進(jìn)代表層級(jí),使用空格,默認(rèn)2個(gè)空格(flutter工具做了處理,tab也可以)
  • # 表示注釋內(nèi)容
    : 表示鍵值對(duì),注意后面要空格
    {} 表示鍵值表
    - 表示列表,注意后面要空格
    [] 表示數(shù)組,注意每項(xiàng)之間有空格
    ? 表示復(fù)雜的鍵
# 鍵值對(duì),表示app的名字為flutter_app
name: flutter_app
description: A new Flutter application.
# 環(huán)境,flutter的sdk版本在此之間
environment:
  sdk: ">=2.0.0-dev.68.0 <3.0.0"

# 依賴(lài)庫(kù)
dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^0.1.2
  event_bus: ^1.0.1
  shared_preferences: "^0.4.3"
  flutter_refresh: ^0.0.1

#測(cè)試環(huán)境的依賴(lài)庫(kù)
dev_dependencies:
  flutter_test:
    sdk: flutter

flutter:
  #使用Material圖標(biāo)
  uses-material-design: true
  #assets文件
  assets:
    - images/head.png
    - images/1.gif
  #字體樣式
  fonts:
     #family與fonts是一個(gè)整體,列表的一項(xiàng)
     - family: Schyler
       fonts:
         - asset: fonts/Schyler-Regular.ttf
         - asset: fonts/Schyler-Italic.ttf
           style: italic
     - family: Trajan Pro
       fonts:
         - asset: fonts/TrajanPro.ttf
         - asset: fonts/TrajanPro_Bold.ttf
           weight: 700

-可轉(zhuǎn)化為[],:也可以轉(zhuǎn)化為{},轉(zhuǎn)化后類(lèi)似json

dependencies: {flutter: {sdk: flutter}, cupertino_icons: ^0.1.2, event_bus: ^1.0.1, shared_preferences: "^0.4.3", flutter_refresh: ^0.0.1}

assets: [images/head.png, images/1.gif]

很明顯沒(méi)有之前的好看,而且不好擴(kuò)展

3. 字符串操作

a.字符串

 str0: '我是字符串'
 #雙引號(hào)不會(huì)對(duì)特殊字符轉(zhuǎn)義
 str1: "It's a test"
 #單引號(hào)中單引號(hào)的字符,需要轉(zhuǎn)義
 str2: 'It''s a test'
 #~是空的意思
 str3: ~ 
 # 兩個(gè)!表示強(qiáng)制轉(zhuǎn)換,!!str 表示強(qiáng)制轉(zhuǎn)為str
 str4: !!str true
 str5: 也可以不用引號(hào)引起來(lái),厲害不
 str6: '有空格 或者 特殊字符* 就必須放在引號(hào)中了'
 str7: <p style="color:red">Hello world<p>

轉(zhuǎn)為json:

{ str0: '我是字符串',
  str1: 'It\'s a test',
  str2: 'It\'s a test',
  str3: null,
  str4: 'true',
  str5: '也可以不用引號(hào)引起來(lái),厲害不',
  str6: '有空格 或者 特殊字符* 就必須放在引號(hào)中了',
  str7: '<p style="color:red">Hello world<p>' }

b.換行

 str8: #每行用空格代替換行符,每行行尾空格無(wú)效
  第一行            
  第二行       
  第三行     
 str9: | #每行都有換行符
  第一行    
  第二行   
  第三行   
 str10: > #末尾有換行符,中間用空格代替換行符
  第一行   
  第二行    
  第三行  
 str11: |- #末尾去除換行符
  第一行 
  第二行   
  第三行      
 str12: |+ #末尾添加換行符
  第一行  
  第二行   
  第三行   

轉(zhuǎn)為json:

{ str8: '第一行 第二行 第三行',
  str9: '第一行    \n第二行   \n第三行   \n',
  str10: '第一行    第二行     第三行  \n',
  str11: '第一行 \n第二行   \n第三行       ',
  str12: '第一行  \n第二行   \n第三行   \n' }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容