1 Star 1 Fork 0

UMBRELLA / taro-custom-project-config-plugin

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Taro 项目自定义配置文件

小程序的 project.config.json 文件的管理,是目前小程序开发最大的痛点,他严重限制小程序开发的想象力和生产效率。

该插件允许在 Taro 项目内存在多个小程序的 project.config 的定义,以实现一套源代码(同一个仓库源),输出不同的小程序。

强调:目前只对 微信(weapp)、快手(tt-抖音、今日头条)、百度(swan)、京东(jd)、QQ(qq) 这几个小程序平台。实际只测试过微信和快手,其他平台看情况再做后续的更新。

使用方法

yarn add taro-custom-project-config-plugin cross-env

在任意的 Taro 的启动指令,改为如下:

cross-env MODE=dev CUSTOM_ENV=username npm run build:weapp -- --watch

在 Taro 项目的配置文件加上插件:

module.exports = {
    plugins: [
        'taro-custom-project-config-plugin',    
    ]
}

在任意的 Taro 项目的源代码目录(如:src),添加一个 mp 的目录,完整为:src/mp ,在此目录下,创建对应小程序平台名的目录,如:weapp, tt, qq, swan 等,与 Taro 的 PlatformName 对应,如:

src/mp/weapp/    => 小程序
src/mp/tt/       => 快手

在对应的目录内添加 project.config.json 文件(百度小程序是 project.swan.json )。

配置文件是自动选择性的,根据你传入的 MODE (取值:dev|test|prod) CUSTOM_ENV(取值:任意字符串) 环境变量的值,他的优先选择顺序如下:

const files = [
    'project.config.MODE.CUSTOM_ENV.json',
    'project.config.CUSTOM_ENV.json',
    'project.config.MODE.json',
    'project.config.json',
];

补充说明

非 PROD 的话,小程序的名称字段,会强制拼接字符串 [development][test] ,主要是为了便于区分不同的环境,避免小程序上传错了。

假定你添加了微信的配置文件,但是没添加快手的配置文件,在编译快手的小程序时,他会按照 Taro 原有的业务顺序去操作,不会产生任何影响。

在开发模式下,当确定使用了某个项目配置文件后,会启动一个 fs.watchFile 自动跟踪这个配置文件,确保他修改、删除(不做任何处理,只是通知)、重新添加,都会自动重新生成。

MIT License Copyright (c) 2020 K. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

Taro 项目配置文件自定义组件 展开 收起
JavaScript
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
JavaScript
1
https://gitee.com/umworks/taro-custom-project-config-plugin.git
git@gitee.com:umworks/taro-custom-project-config-plugin.git
umworks
taro-custom-project-config-plugin
taro-custom-project-config-plugin
master

搜索帮助