一、項目配置文件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下的模式就是通過這里添加的。