一、項目配置文件project.config.json
小程序開發者工具在每個項目的根目錄都會生成一個 project.config.json,在工具上做的任何配置都會寫入到這個文件,當重新安裝工具或者換電腦工作時,只要載入同一個項目的代碼包,開發者工具就自動會幫你恢復到當時你開發項目時的個性化配置,其中會包括編輯器的顏色、代碼上傳時自動壓縮等等一系列選項。
可以在項目根目錄使用 project.config.json 文件對項目進行配置。

(1)compileType 有效值:

(2)setting 中可以指定以下設置:

(3)scripts 中指定自定義預處理的命令:

(4)packOptions:
packOptions 用以配置項目在打包過程中的選項。打包是預覽、上傳時對項目進行的必須步驟。
目前可以指定 packOptions.ignore 字段,用以配置打包時對符合指定規則的文件或文件夾進行忽略,以跳過打包的過程,這些文件或文件夾將不會出現在預覽或上傳的結果內。
packOptions.ignore 為一對象數組,對象元素類型如下:

其中,type 可以取的值為 folder、file、suffix、prefix,分別對應文件夾、文件、后綴、前綴。
示例配置如下:
{
"packOptions": {
"ignore": [{
"type": "file",
"value": "test/test.js"
}, {
"type": "folder",
"value": "test"
}, {
"type": "suffix",
"value": ".webp"
}, {
"type": "prefix",
"value": "test-"
}]
}
}
注: value 字段的值不支持通配符、正則表達式。若表示文件或文件夾路徑,以小程序目錄 (miniprogramRoot) 為根目錄。
(6)debugOptions:
debugOptions 用以配置在對項目代碼進行調試時的選項。
目前可以指定 debugOptions.hidedInDevtools 字段,用以配置調試時於調試器 Sources 面板隱藏源代碼的文件。
hidedInDevtools 的配置規則和 packOptions.ignore 是一致的。
當某個 js 文件符合此規則時,調試器 Sources 面板中此文件源代碼正文內容將被隱藏,顯示為:
// xxx.js has been hided by project.config.json
注:配置此規則后,可能需要關閉並重新打開項目才能看到效果。
(7)項目配置示例:
{
"miniprogramRoot": "./src",
"qcloudRoot": "./svr",
"setting": {
"postcss": true,
"es6": true,
"minified": true,
"urlCheck": false
},
"packOptions": {},
"debugOptions": {}
}
參考: https://www.cnblogs.com/lizm166/p/9547816.html
參考: https://www.jianshu.com/p/ce7b45b5f9c9
{
"description": "項目配置文件", //描述
"packOptions": { //用以配置打包時對符合指定規則的文件或文件夾進行忽略
"ignore": []
},
"setting": { //項目設置
"urlCheck": false, //不檢查安全域名和 TLS 版本
"es6": true, //啟用 es6 轉 es5
"postcss": true, //上傳代碼時樣式自動補全
"minified": true, //上傳代碼時自動壓縮
"newFeature": true //新特征,文檔中未描述
},
"compileType": "miniprogram", //編譯類型,miniprogram為普通小程序項目
"libVersion": "2.3.0", //基礎庫版本
"appid": "touristappid", //AppID
"projectname": "%E6%B5%85%E8%93%9D%E5%95%86%E5%9F%8EPRO", //項目名字,只在新建項目時讀取,urlDecode解碼(路徑解碼)
"debugOptions": {
"hidedInDevtools": [] //配置調試時於調試器 Sources 面板隱藏源代碼的hidedInDevtools 的配置規則和 packOptions.ignore 是一致的。
},
"scripts": {}, //自定義預處理的命令 beforeCompile編譯前預處理命令、beforePreview預覽前預處理命令、beforeUpload上傳前預處理命令
"condition": { //編譯模式,增加編譯模式時,會添加到下面的對應數組
"search": {
"current": -1,
"list": []
},
"conversation": {
"current": -1,
"list": []
},
"plugin": { //插件
"current": -1,
"list": []
},
"game": { //小游戲
"list": []
},
"miniprogram": { //小程序
"current": -1,
"list": []
}
}
}
condition下的模式就是通過這里添加的。


