欧美日韩精品一区二区在线线,一级无码在线收看,精品国产高清91,久久精品欧美电影

# 項(xiàng)目配置文件

  1. 項(xiàng)目根目錄中的 project.config.jsonproject.private.config.json 文件可以對項(xiàng)目進(jìn)行配置,
  2. project.private.config.json 中的相同設(shè)置優(yōu)先級高于 project.config.json
  3. 可以在 project.config.json 文件中配置公共的配置,在 project.private.config.json 配置個(gè)人的配置,可以將 project.private.config.json 寫到 .gitignore 避免版本管理的沖突。
  4. project.private.config.json 中有的字段,開發(fā)者工具內(nèi)的設(shè)置修改會優(yōu)先覆蓋 project.private.config.json 的內(nèi)容。如在 project.private.config.jsonappid 字段,那么在 詳情-基本信息 中修改了 appid,會寫到 project.private.config.json 中,不會覆蓋掉 project.config.jsonappid 字段的內(nèi)容
  5. 開發(fā)階段相關(guān)的設(shè)置修改優(yōu)先同步到 project.private.config.json 中,但與最終編譯產(chǎn)物有關(guān)的設(shè)置無法在 project.private.config.json 中生效,界面上的改動(dòng)也不會同步到 project.private.config.json 文件中。詳見 表格 是否允許私有設(shè)置。

# 一級字段

可以在項(xiàng)目根目錄使用 project.config.json 文件對項(xiàng)目進(jìn)行配置。

字段名 類型 說明
miniprogramRoot Path String 指定小程序源碼的目錄(需為相對路徑)
qcloudRoot Path String 指定騰訊云項(xiàng)目的目錄(需為相對路徑)
pluginRoot Path String 指定插件項(xiàng)目的目錄(需為相對路徑)
cloudbaseRoot Path String 云開發(fā)代碼根目錄(需為相對路徑)
cloudfunctionRoot Path String 云函數(shù)代碼根目錄(需為相對路徑)
cloudfunctionTemplateRoot Path String 云函數(shù)本地調(diào)試請求模板的根目錄(需為相對路徑)
cloudcontainerRoot Path String 云托管代碼根目錄(需為相對路徑)
compileType String 編譯類型
setting Object 項(xiàng)目設(shè)置
libVersion String 基礎(chǔ)庫版本
appid String 項(xiàng)目的 appid
projectname String 項(xiàng)目名字
packOptions Object 打包配置選項(xiàng)
debugOptions Object 調(diào)試配置選項(xiàng)
watchOptions Object 文件監(jiān)聽配置設(shè)置
scripts Object 自定義預(yù)處理
staticServerOptions Object 僅在小游戲項(xiàng)目中有效
editorSetting Object 指定自動(dòng)生成的文件的 tabIndent 和 tabSize
skeletonConfig Object 骨架屏相關(guān)設(shè)置

# compileType

編譯類型作用于開發(fā)工具的以下設(shè)置 編譯類型 有效值

名字 說明
miniprogram 當(dāng)前為普通小程序項(xiàng)目
plugin 當(dāng)前為小程序插件項(xiàng)目

# setting

項(xiàng)目的編譯設(shè)置,可以指定以下設(shè)置。部分設(shè)置無法在 project.private.config.json 中生效

以下字段可以開發(fā)者工具-詳情-本地設(shè)置可以對應(yīng)上 詳情-本地設(shè)置

字段名 類型 允許私有設(shè)置[1] 說明
condition Boolean 啟用條件編譯
es6 Boolean 是否啟用 es6 轉(zhuǎn) es5[2]
enhance Boolean 是否打開增強(qiáng)編譯[2]
postcss Boolean 上傳代碼時(shí)樣式是否自動(dòng)補(bǔ)全
minified Boolean 上傳代碼時(shí)是否自動(dòng)壓縮腳本文件
minifyWXSS Boolean 上傳代碼時(shí)是否自動(dòng)壓縮樣式文件
minifyWXML Boolean 上傳代碼時(shí)是否自動(dòng)壓縮 WXML 文件
swc Boolean 開啟 swc 編譯模式
uglifyFileName Boolean 上傳時(shí)進(jìn)行代碼保護(hù)
ignoreUploadUnusedFiles Boolean 上傳時(shí)是否過濾無依賴文件
autoAudits Boolean 是否自動(dòng)運(yùn)行體驗(yàn)評分
urlCheck Boolean 是否檢查安全域名和 TLS 版本
compileHotReLoad Boolean 是否開啟文件保存后自動(dòng)熱重載
preloadBackgroundData Boolean 小程序加載時(shí)是否數(shù)據(jù)預(yù)拉取
lazyloadPlaceholderEnable Boolean 是否啟用懶注入占位組件調(diào)試[3]
useStaticServer Boolean 僅在小游戲項(xiàng)目有效,是否開啟靜態(tài)資源服務(wù)器[4]
bigPackageSizeSupport Boolean 預(yù)覽及真機(jī)調(diào)試的時(shí)主包、分包體積上限調(diào)整為4M(小程序)、8M(小游戲)
skylineRenderEnable Boolean 是否開啟 skyline 渲染調(diào)試

以下字段是開發(fā)者工具的隱式設(shè)置

字段名 類型 允許私有設(shè)置[1] 說明
babelSetting Object 增強(qiáng)編譯下Babel的配置項(xiàng)
minifyWXMLSetting Object 壓縮 wxml 的配置項(xiàng)
useCompilerPlugins String[] 或 false 編譯插件配置
disableUseStrict Boolean 將 JS 編譯成 ES5 時(shí),是否禁用嚴(yán)格模式
uploadWithSourceMap Boolean 上傳時(shí)是否帶上 sourcemap(默認(rèn)為true)
localPlugins Boolean 在小游戲插件項(xiàng)目中,是否啟用 “以本地目錄為插件資源來源”[5] 特性
packNpmManually Boolean 是否手動(dòng)配置構(gòu)建 npm 的路徑
packNpmRelationList Array packNpmManually 為 true 時(shí)生效,詳細(xì)參考構(gòu)建 npm 文檔
coverView Boolean 是否使用工具渲染 CoverView
ignoreDevUnusedFiles Boolean 預(yù)覽、真機(jī)調(diào)試和本地模擬器等開發(fā)階段是否過濾無依賴文件(默認(rèn)為true)
ignoreCodeQuality Boolean 預(yù)覽、真機(jī)調(diào)試上傳等開發(fā)階段是否不執(zhí)行代碼質(zhì)量檢測(默認(rèn)為 false )
checkInvalidKey Boolean 是否展示 JSON 文件校驗(yàn)錯(cuò)誤信息
showShadowRootInWxmlPanel Boolean 是否開啟調(diào)試器 WXML 面板展示 shadow-root
useIsolateContext Boolean 是否開啟小程序獨(dú)立域調(diào)試特性[6]
useMultiFrameRuntime Boolean 是否開啟模擬器預(yù)先載入小程序的某些資源[7]。此設(shè)定為 false 時(shí)會導(dǎo)致 useIsolateContext 失效
useApiHook Boolean 是否啟用 API Hook 功能[8]
useApiHostProcess Boolean 是否在額外的進(jìn)程處理一些小程序 API[9]
useLanDebug Boolean 僅在小游戲有效,是否開啟局域網(wǎng)調(diào)試服務(wù)器
enableEngineNative Boolean 是否在游戲引擎項(xiàng)目中開啟支持引用 node 原生模塊的底層加速特性
showES6CompileOption Boolean 是否在本地設(shè)置中展示傳統(tǒng)的 ES6 轉(zhuǎn) ES5 開關(guān)(對應(yīng) es6),增強(qiáng)編譯開關(guān) (對應(yīng) enhance)

注 1: 開發(fā)階段相關(guān)的設(shè)置修改優(yōu)先同步到 project.private.config.json 中,但最終編譯產(chǎn)物有關(guān)的設(shè)置無法在 project.private.config.json 中生效,界面上的改動(dòng)也不會同步到 project.private.config.json 文件中。

注 2: es6enhance 需同時(shí)為 true/false,對應(yīng)于 將 JS 編譯成 ES5

注 3: (懶注入占位組件調(diào)試) 開啟按需注入后在項(xiàng)目設(shè)置面板中會出現(xiàn)對應(yīng)的勾選項(xiàng),開啟之后,按需注入的組件將會停止注入,頁面停止在占位組件狀態(tài),便于調(diào)試自定義占位組件。

注 4: (靜態(tài)資源服務(wù)器) 可以托管項(xiàng)目本地的靜態(tài)資源,主要用于在預(yù)覽時(shí)測試小游戲真機(jī)資源加載的效果。

注 5: (以本地目錄為插件資源來源) 啟用此特性后,工具將停止從線上獲取小游戲插件包內(nèi)容,并將檢驗(yàn)本地相應(yīng)目錄的文件完整性。僅對小游戲插件項(xiàng)目有效。要以本地磁盤目錄作為插件的資源來源,需要同時(shí)在小游戲插件項(xiàng)目的 game.json 中配置相關(guān)的屬性。

注 6: (小程序獨(dú)立域調(diào)試) 一種新的小程序內(nèi)部代碼的執(zhí)行方式,僅影響工具側(cè)的調(diào)試過程。未來將取代傳統(tǒng)的執(zhí)行方式并成為默認(rèn)選擇。僅在 2.11.1 及以上基礎(chǔ)庫有效。關(guān)閉此特性可能有助于規(guī)避一些調(diào)試中遇到的未知報(bào)錯(cuò)。

注 7: (預(yù)先載入小程序的某些資源) 開啟此內(nèi)部特性后,調(diào)試時(shí)小程序的重新載入可能會更快一些。此設(shè)定不影響真機(jī)和實(shí)際運(yùn)行效果。

注 8: (API Hook 功能) 關(guān)閉此內(nèi)部特性可能導(dǎo)致工具的某些調(diào)試功能(例如 mock)失效。此設(shè)定不影響真機(jī)運(yùn)行效果。

注 9: (額外進(jìn)程) 開啟此內(nèi)部特性后,部分 API 的調(diào)用會被移到單獨(dú)的進(jìn)程以減輕工具主進(jìn)程的負(fù)擔(dān)。此設(shè)定不影響真機(jī)運(yùn)行效果。

# useCompilerPlugins

編譯插件配置,目前支持編譯插件有 typescript、less、sass

{
  "setting": {
    "useCompilerPlugins": [
      "typescript",
      "less"
    ]
  }
}

表示項(xiàng)目支持直接使用 typescript 和 less

# babelSetting

將 JS 編譯為 ES5 時(shí) Babel 的配置項(xiàng),其中可以指定以下設(shè)置

字段名 類型 說明
outputPath String Babel 輔助函數(shù)的輸出目錄,默認(rèn)為 @babel/runtime
ignore Array<String> 配置需要跳過Babel編譯(包括代碼壓縮)處理的文件或目錄

注 1: 指定文件路徑外,還可以指定目錄,詳見下面項(xiàng)目配置示例

# minifyWXMLSetting

壓縮 wxml 時(shí)的配置項(xiàng),minifyWXMLSetting.global 是全局設(shè)置,minifyWXMLSetting[pagePath.wxml] 是具體頁面 wxml 生效的配置,會和 minifyWXMLSetting.global 全局設(shè)置合并后生效,設(shè)置項(xiàng)如下:

字段名 類型 說明
collapseWhitespace Boolean 默認(rèn) true,標(biāo)簽內(nèi)所有連續(xù)空白符會被壓縮成 1 個(gè)空格,換行的情況按 preserveLineBreaks 處理
conservativeCollapse Boolean 默認(rèn) false: 標(biāo)簽前后不保留空格;true: 但標(biāo)簽前后會保留一個(gè)空格(當(dāng)有時(shí))
preserveLineBreaks Boolean 默認(rèn) false:按 collapseWhitespace 處理,true 所有換行都會被保留

如代碼:

<view>
  a    a

  a    a
</view>

默認(rèn)情況下會被壓縮為

<view>a a a a</view>

如果設(shè)置了:

{
  "setting": {
    "minifyWXMLSetting": {
      "global": {
        "collapseWhitespace": true,
        "conservativeCollapse": false,
        "preserveLineBreaks": true,
      }
    }
  }
}

則被壓縮為:

<view>
a a

a a
</view>

如果設(shè)置了:

{
  "setting": {
    "minifyWXMLSetting": {
      "global": {
        "collapseWhitespace": true,
        "conservativeCollapse": true,
        "preserveLineBreaks": false,
      }
    }
  }
}

則被壓縮為:

<view> a a a a </view>

注 1: text 標(biāo)簽內(nèi)所有的換行和空白符都會被保留

# libVersion

可以指定項(xiàng)目運(yùn)行的基礎(chǔ)庫具體的版本號 也可以 project.config.jsonlibVersion 指定以下值

說明
latest 最新的非灰度中的基礎(chǔ)庫
trial 最新的基礎(chǔ)庫
widelyUsed 使用比例最高的基礎(chǔ)庫

以上值在 project.private.config.json 文件中無效,因?yàn)槭謩?dòng)在開發(fā)者工具-詳情-本地設(shè)置中改變基礎(chǔ)庫的版本,會覆蓋掉 project.private.config.jsonlibVersion 字段

# scripts

指定自定義預(yù)處理的命令

名字 說明
beforeCompile 編譯前預(yù)處理命令
beforePreview 預(yù)覽前預(yù)處理命令
beforeUpload 上傳前預(yù)處理命令

# packOptions

packOptions 用以配置項(xiàng)目在打包過程中的選項(xiàng)。打包是預(yù)覽、上傳時(shí)對項(xiàng)目進(jìn)行的必須步驟。

目前可以指定 packOptions.include 字段,用以配置打包時(shí)需要強(qiáng)制帶上的文件(僅限后綴名白名單內(nèi))或者文件夾,匹配的這些文件或文件夾將一定會出現(xiàn)在預(yù)覽或上傳的結(jié)果內(nèi)。(該字段的優(yōu)先級高于 packOptions.ignore

同時(shí)可以指定 packOptions.ignore 字段,用以配置打包時(shí)對符合指定規(guī)則的文件或文件夾進(jìn)行忽略,以跳過打包的過程,這些文件或文件夾將不會出現(xiàn)在預(yù)覽或上傳的結(jié)果內(nèi)。

packOptions.ignorepackOptions.include 為一對象數(shù)組,對象元素類型如下:

字段名 類型 說明
value string 路徑1或取值
type string 類型

其中,type 可以取的值為 folder、file、suffix、prefix、regexp2、glob2,分別對應(yīng)文件夾、文件、后綴、前綴、正則表達(dá)式、Glob 規(guī)則。所有規(guī)則值都會自動(dòng)忽略大小寫。

注 1: value 字段的值若表示文件或文件夾路徑,以小程序目錄 (miniprogramRoot) 為根目錄。

注 2: regexpglob 僅 1.02.1809260 及以上版本工具支持。

示例配置如下。

{
  "packOptions": {
    "ignore": [{
      "type": "file",
      "value": "test/test.js"
    }, {
      "type": "folder",
      "value": "test"
    }, {
      "type": "suffix",
      "value": ".webp"
    }, {
      "type": "prefix",
      "value": "test-"
    }, {
      "type": "glob",
      "value": "test/**/*.js"
    }, {
      "type": "regexp",
      "value": "\\.jsx$"
    }]
  }
}

: 這部分設(shè)置的更改可能需要重新打開項(xiàng)目才能生效。

# debugOptions

debugOptions 用以配置在對項(xiàng)目代碼進(jìn)行調(diào)試時(shí)的選項(xiàng)。

目前可以指定 debugOptions.hidedInDevtools 字段,用以配置調(diào)試時(shí)于調(diào)試器 Sources 面板隱藏源代碼的文件。

hidedInDevtools 的配置規(guī)則和 packOptions.ignore 是一致的。

當(dāng)某個(gè) js 文件符合此規(guī)則時(shí),調(diào)試器 Sources 面板中此文件源代碼正文內(nèi)容將被隱藏,顯示為:

// xxx.js has been hided by project.config.json

注:配置此規(guī)則后,可能需要關(guān)閉并重新打開項(xiàng)目才能看到效果。

項(xiàng)目配置示例:

{
  "miniprogramRoot": "./src",
  "qcloudRoot": "./svr",
  "setting": {
    "postcss": true,
    "es6": true,
    "minified": true,
    "urlCheck": false,
    "checkSiteMap": true,
    "enhance": true,
    "babelSetting": {
      "ignore": [
        "utils/something_not_to_process.js",
        "miniprogram_npm/*",
        "utils/already_handle/*"
      ]
    }
  },
  "packOptions": {
    "ignore": []
  },
  "debugOptions": {}
}

# watchOptions

watchOptions 用以配置項(xiàng)目中可以被忽略展示和監(jiān)聽文件變化的文件匹配規(guī)則。 部分項(xiàng)目(如游戲項(xiàng)目)其項(xiàng)目文件可能成千上萬,其中大部分可能是資源文件,并不是小程序和小游戲代碼中關(guān)心展示的文件,這些文件在工具開發(fā)時(shí)可以不需要被開發(fā)者關(guān)注,因此工具可以增加一個(gè)配置去忽略指定的文件和目錄,從而不對這些文件進(jìn)行文件遍歷獲取和文件內(nèi)容變更的監(jiān)聽(watch),從而提高開啟工具的速度以及減少工具打開占用的內(nèi)存。

目前可以指定 watchOptions.ignore 字段,用以配置工具時(shí)對符合指定規(guī)則的文件或文件夾進(jìn)行忽略(忽略的文件將不展示在編輯器文件列表和對該文件進(jìn)行監(jiān)聽),以避免展示和監(jiān)聽項(xiàng)目中不必要的文件內(nèi)容(這些文件或文件夾不需要去關(guān)心文件變化)

watchOptions.ignoreglob pattern 字符串?dāng)?shù)組,具體支持如下:

    • 匹配0到多個(gè)字符
  • ? 匹配一個(gè)字符
  • [...] 匹配一個(gè)字符列表,類似正則表達(dá)式的字符列表
  • !(pattern|pattern|pattern) 反向匹配括號內(nèi)的模式
  • ?(pattern|pattern|pattern) 匹配0或1個(gè)括號內(nèi)的模式
  • +(pattern|pattern|pattern) 匹配至少1個(gè)括號內(nèi)的模式
  • *(pattern|pattern|pattern) 匹配0到多個(gè)括號內(nèi)的模式
  • @(pattern|pat*|pat?erN) 精確匹配括號內(nèi)的模式
  • ** 匹配0到多個(gè)子目錄,遞歸匹配子目錄

示例配置如下。

如下所示

{
  "description": "項(xiàng)目配置文件",
  "watchOptions": {
     "ignore": [
        "utils/util.js",
        "libs/**/**"
     ]
  }
}

注 1 : watchOptions.ignore 數(shù)組中的值若表示文件或文件夾路徑,以項(xiàng)目根目錄為基準(zhǔn)目錄。 注 2 : 由于文件遍歷和 watch 都是在項(xiàng)目啟動(dòng)時(shí)執(zhí)行,因此如果修改了 watchOptions 需要重新打開項(xiàng)目 注 3: 該配置僅 1.02.1910220 及以上版本工具支持。