工具配置 project.config.json

工具配置 project.config.json

通常大家在使用一个工具的时候,都会针对各自喜好做一些个性化配置,例如界面颜色、编译配置等等,当你换了另外一台电脑重新安装工具的时候,你还要重新配置。

考虑到这点,小程序开发者工具在每个项目的根目录都会生成一个 project.config.json,你在工具上做的任何配置都会写入到这个文件,当你重新安装工具或者换电脑工作时,你只要载入同一个项目的代码包,开发者工具就自动会帮你恢复到当时你开发项目时的个性化配置,其中会包括编辑器的颜色、代码上传时自动压缩等等一系列选项。

项目配置文件

可以在项目根目录使用 project.config.json 文件对项目进行配置。

字段名 类型 说明
miniprogramRoot Path String 指定小程序源码的目录(需为相对路径)
qcloudRoot Path String 指定腾讯云项目的目录(需为相对路径)
pluginRoot Path String 指定插件项目的目录(需为相对路径)
compileType String 编译类型
setting Object 项目设置
libVersion String 基础库版本
appid String 项目的 appid,只在新建项目时读取
projectname String 项目名字,只在新建项目时读取
packOptions Object 打包配置选项
debugOptions Object 调试配置选项
scripts Object 自定义预处理

compileType 有效值

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

setting 中可以指定以下设置

字段名 类型 说明
es6 Boolean 是否启用 es6 转 es5
postcss Boolean 上传代码时样式是否自动补全
minified Boolean 上传代码时是否自动压缩
urlCheck Boolean 是否检查安全域名和 TLS 版本

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

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

packOptions

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

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

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

字段名 类型 说明
value string 路径或取值
type string 类型

其中,type 可以取的值为 folderfilesuffixprefix,分别对应文件夹、文件、后缀、前缀。

示例配置如下。

{
  "packOptions": {
    "ignore": [{
      "type": "file",
      "value": "test/test.js"
    }, {
      "type": "folder",
      "value": "test"
    }, {
      "type": "suffix",
      "value": ".webp"
    }, {
      "type": "prefix",
      "value": "test-"
    }]
  }
}

value 字段的值不支持通配符、正则表达式。若表示文件或文件夹路径,以小程序目录 (miniprogramRoot) 为根目录。

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": {},
  "debugOptions": {}
}

你可能感兴趣的:(web前端,微信小程序)