【微信小程序】project.config.json配置

{
  "description": "项目配置文件。",
  "packOptions": { //打包配置选项
    "ignore": [] //配置打包时对符合指定规则的文件或文件夹进行忽略,跳过打包的过程,这些文件或文件夹不会出现在预览或上传的结果内
  },
  "setting": { //项目设置
    "urlCheck": true, //是否检查安全域名和TLS版本
    "es6": true, //是否启用es5转es6
    "postcss": true, //上传代码时样式是否自动补全
    "minified": true, //上传代码时是否自动压缩
    "newFeature": true
  },
  "compileType": "miniprogram", //编译类型,miniprogram当前为普通小程序项目。plugin当前为小程序插件项目
  "libVersion": "2.0.8", //基础库版本
  "appid": "wxf5b8ab7a81a76efa", //APPID,只在新建项目时读取
  "projectname": "test2", //项目名称,只在新建项目时读取
  "isGameTourist": false,
  "condition": {
    "search": {
      "current": -1,
      "list": []
    },
    "conversation": {
      "current": -1,
      "list": []
    },
    "game": {
      "currentL": -1,
      "list": []
    },
    "miniprogram": {
      "current": -1,
      "list": []
    }
  }
}

参数

字段名类型说明
miniprogramRootPath String指定小程序源码的目录(需为相对路径)
qcloudRootPath String指定腾讯云项目的目录(需为相对路径)
pluginRootPath String指定插件项目的目录(需为相对路径)
compileTypeString编译类型
settingObject项目设置
libVersionString基础库版本
appidString项目的 appid,只在新建项目时读取
projectnameString项目名字,只在新建项目时读取
packOptionsObject打包配置选项
debugOptionsObject调试配置选项
scriptsObject自定义预处理

 

compileType 有效值

名字说明
miniprogram当前为普通小程序项目
plugin当前为小程序插件项目

setting 中可以指定以下设置

字段名类型说明
es6Boolean是否启用 es6 转 es5
postcssBoolean上传代码时样式是否自动补全
minifiedBoolean上传代码时是否自动压缩
urlCheckBoolean是否检查安全域名和 TLS 版本
uglifyFileNameBoolean是否进行代码保护

scripts 中指定自定义预处理的命令

名字说明
beforeCompile编译前预处理命令
beforePreview预览前预处理命令
beforeUpload上传前预处理命令

 

packOptions

packOptions 用以配置项目在打包过程中的选项。打包是预览、上传时对项目进行的必须步骤。

目前可以指定 packOptions.ignore 字段,用以配置打包时对符合指定规则的文件或文件夹进行忽略,以跳过打包的过程,这些文件或文件夹将不会出现在预览或上传的结果内。

packOptions.ignore 为一对象数组,对象元素类型如下:

字段名类型说明
valuestring路径1或取值
typestring类型

其中,type 可以取的值为 folderfilesuffixprefixregexp2、glob2,分别对应文件夹、文件、后缀、前缀、正则表达式、Glob 规则。所有规则值都会自动忽略大小写。

注 1value 字段的值若表示文件或文件夹路径,以小程序目录 (miniprogramRoot) 为根目录。

注 2regexpglob 仅 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$"
    }]
  }
}

: 这部分设置的更改可能需要重新打开项目才能生效。

debugOptions

debugOptions 用以配置在对项目代码进行调试时的选项。

目前可以指定 debugOptions.hidedInDevtools 字段,用以配置调试时于调试器 Sources 面板隐藏源代码的文件。

hidedInDevtools 的配置规则和 packOptions.ignore 是一致的。

当某个 js 文件符合此规则时,调试器 Sources 面板中此文件源代码正文内容将被隐藏,显示为:

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

注:配置此规则后,可能需要关闭并重新打开项目才能看到效果。

项目配置示例:

{
  "miniprogramRoot": "./src",
  "qcloudRoot": "./svr",
  "setting": {
    "postcss": true,
    "es6": true,
    "minified": true,
    "urlCheck": false
  },
  "packOptions": {
    "ignore": []
  },
  "debugOptions": {}
}

 

### 微信小程序中无法修改 `project.config.json` 文件里的 `appid` 的问题及解决方案 在微信小程序开发过程中,`project.config.json` 文件是一个非常重要的配置文件,主要用于存储项目的全局配置信息。然而,该文件中的某些字段(如 `appid`)可能在特定情况下无法直接修改[^1]。 #### 问题分析 `project.config.json` 文件中的 `appid` 字段通常是开发者工具自动生成的,与开发者账号绑定。如果多个开发者在同一项目中协作时,可能会出现以下问题: - 不同开发者使用不同的 `appid` 进行开发,导致合并代码时发生冲突。 - 开发者工具限制了对 `appid` 的直接修改权限,以防止误操作影响项目运行。 根据相关描述,在多人协作开发时,`appid` 冲突的主要原因是团队成员的开发环境配置不一致,例如不同的编译模式或个人账号设置[^2]。 --- #### 解决方案 以下是几种常见的解决方法: #### 方法一:统一开发环境配置 确保所有团队成员使用相同的开发环境配置,包括但不限于: - 使用同一个 `appid`。 - 在项目初始化时明确指定 `appid` 并将其固定下来。 - 避免在多人协作时频繁切换 `appid`。 可以通过以下步骤实现: 1. 确定一个固定的 `appid`,并告知所有团队成员。 2. 在项目初始化时,将 `project.config.json` 中的 `appid` 设置为该固定值。 3. 提交更新后的 `project.config.json` 文件到版本控制系统(如 Git),确保所有成员拉取最新的配置文件。 ```json { "miniprogramRoot": "./", "cloudfunctionRoot": "./cloudfunctions/", "setting": { "urlCheck": true, "es6": true, "postcss": true, "minify": true }, "appid": "your_fixed_appid_here" } ``` --- #### 方法二:忽略 `project.config.json` 文件 由于 `project.config.json` 文件中的部分字段(如 `appid`)是开发者工具自动生成的,因此可以考虑将其从版本控制系统中排除。通过这种方式避免因 `appid` 或其他字段差异导致的冲突。 具体操作如下: 1. 在项目的 `.gitignore` 文件中添加以下内容,忽略 `project.config.json` 文件: ``` project.config.json ``` 2. 每个开发者在本地自行配置 `project.config.json` 文件,确保其与各自的开发环境匹配。 --- #### 方法三:手动修改 `project.config.json` 尽管开发者工具可能限制了对 `project.config.json` 文件的直接修改,但仍然可以通过以下方式绕过限制: 1. 打开项目目录下的 `project.config.json` 文件。 2. 手动编辑 `appid` 字段,将其更改为所需的值。 3. 保存文件后重新启动微信开发者工具。 需要注意的是,手动修改可能导致开发者工具的部分功能异常。因此,建议仅在必要时使用此方法,并确保所有团队成员同步更改。 --- #### 方法四:使用分支管理避免冲突 在多人协作开发时,可以通过合理的分支管理策略减少冲突的发生。例如: - 创建一个专门用于配置文件的分支(如 `config-branch`),集中管理 `project.config.json` 文件。 - 其他开发者在各自的功能分支上进行开发,避免直接修改 `project.config.json` 文件。 - 合并分支时,由专人负责解决可能的冲突。 --- ### 注意事项 - 修改 `project.config.json` 文件中的 `appid` 可能会导致项目无法正常编译或运行,请谨慎操作。 - 如果团队成员较多,建议引入 CI/CD 工具(如 Jenkins、GitHub Actions)自动化处理配置文件的同步和冲突解决。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值