Taro 多环境打包配置【开发,测试,生产环境】

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Taro 多环境打包配置【开发,测试,生产环境】相关的知识,希望对你有一定的参考价值。

参考技术A 我用的是taro 1.2.26版本

【1】cross-env:需要安装依赖,使用cnpm i cross-env -D

【2】config/index.js

最下面【    module.exports =function (merge)     】 这段  【 替换 】  为

module.exports =function (merge)

const buildConfig =

env:

BUILD_ENV:JSON.stringify(process.env.NODE_ENV)





if (process.env.NODE_ENV ==='dev')

return merge(,config, require('./dev'),buildConfig)



if(process.env.NODE_ENV===' testm ')

return merge(,config,require('./test'),buildConfig)



return merge(,config, require('./prod'),buildConfig)



【3】 新建config/test.js ,【添加】以下内容

module.exports =

env:

NODE_ENV:'" testm "'

  ,

defineConstants:

,

weapp: ,

h5:



【4】libs文件夹,api.js    【添加】如下内容

import env from "./env"

export const baseUrl  =  env.baseUrl; //老接口

export const baseUrl_new = env.baseUrl_new;  //  2.0版本以后的新接口

【5】libs 文件夹,新建env.js

let config =

development:

baseUrl : 'https://dev.xxx.cn/',   //老接口

baseUrl_new : 'https://newdev.xxx.cn/'   //  2.0版本以后的新接口

  ,

testm :

baseUrl : 'https://test.xxx.cn/',

baseUrl_new : 'https://newtest.xxx.cn/'

  ,

production:

baseUrl : 'https://prod.xxx.cn/',

baseUrl_new : 'https://newprod.xxx.cn/'

  ,

;

console.log(process.env.NODE_ENV)

let env =config[process.env.NODE_ENV];

export default env;

【6】package.json文件

找到【"scripts"】 部分,如下修改,

"build:weapp:dev":"cross-env NODE_ENV=dev taro build --type weapp",

"build:weapp: testm ":"cross-env NODE_ENV= testm taro build --type weapp",

"build:weapp:prd":"cross-env NODE_ENV=prd taro build --type weapp",

"dev:weapp":"cross-env NODE_ENV=dev npm run build:weapp:dev -- --watch",

" testm :weapp":"cross-env NODE_ENV=testm npm run build:weapp: testm -- --watch",

"prd:weapp":"cross-env NODE_ENV=prd npm run build:weapp:prd -- --watch",

【7】命令行 ,执行的时候,如下

 dev环境      npm run dev:weapp 

test环境     npm run testm :weapp 

prd环境     npm run prd:weapp

注意:为什么我使用的是testm,因为test应该是保留字, 我是发现运行dev和prd都正常,运行test总是报莫名其妙的错。 所以想到之前确实看到过一篇文章说设置test环境的时候,不要直接使用【test】字段。

maven 本地环境开发环境 测试环境生产环境打包

在平常开发的过程中,我们的项目配置文件经常有有几套分别对应自己本地的环境、开发环境、测试环境、以及生产环境。因为在不同的环境中项目的相关配置也会有相关的不同,我们在不同的环境中部署就要手动修改为对应环境的配置,这样太麻烦了以及这样也会很容易出错。
目前JAVA相关的项目基本都是使用Maven来进行构建。在maven中实现多环境的构建可移植性需要使用profile,通过不同的环境激活不同的profile来达到构建的可移植性。
接下来我们就通过maven的相关配置来在打包时指定各个环境对应配置文件。

第一步 pom文件中的profile
首先时pom文件中profile配置

<!-- 定义打包环境变量,本地环境,生产环境;测试环境;开发环境 -->
    <profiles>
        <profile>
            <!-- 本地开发环境 -->
            <id>localhost</id>
            <properties>
                <profiles.active>localhost</profiles.active>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <!-- 开发环境 -->
            <id>development</id>
            <properties>
                <profiles.active>development</profiles.active>
            </properties>
        </profile>
        <profile>
            <!-- 测试环境 -->
            <id>test</id>
            <properties>
                <profiles.active>test</profiles.active>
            </properties>
        </profile>
        <profile>
            <!-- 生产环境 -->
            <id>production</id>
            <properties>
                <profiles.active>production</profiles.active>
            </properties>
        </profile>
    </profiles>

在pom文件中添加以上的配置信息,来区分本地环境,目录、开发环境目录、测试环境目录以及生产环境目录。其中localhost的节点,我们设置了

<activation>
   <activeByDefault>true</activeByDefault>
</activation>

这里是设置本地的环境是默认激活的,如果我们在打包时不指定相关的文件,项目就默认指定本地的配置文件了。其中profiles.active表示被激活的profile的配置文件的目录。

第二步 工程目录建立对应目录
因为maven的配置文件一般都是在src/main/resource目录下,所以我们在resource目录下面分别新建localhost、development、test、production这四个文件目录;如下图:
在这里插入图片描述
pom文件中设置build配置

<build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <!-- 资源根目录排除各环境的配置,防止在生成目录中多余其它目录 -->
                <excludes><!--test/** 表示过滤该文件夹以及子目录-->
                    <exclude>test/**</exclude>
                    <exclude>localhost/**</exclude>
                    <exclude>production/**</exclude>
                    <exclude>development/**</exclude>
                </excludes>
            </resource>
            <resource>
                <directory>src/main/resources/${profiles.active}</directory>
            </resource>
        </resources>
    </build>

各个环境的配置我们在第二个节点中通过前面在profile中配置的profiles.active属性来指定。即src/main/resources/${profiles.active}。这样在激活指定的profile时,会加载指定目录下的配置文件,如当前激活的是pro profile,那么这个资源目录就是src/main/resources/pro。这样就达到了不同环境加载不同配置的目的。

项目编译
通过在运行maven命令时指定不同的profile即可构建不同环境需要的war包或发布到不同的环境了 。如:

mvn clean package -Pproduction

这样我们就是打包生产环境的配置了。

如果我们是idea开发的话,我们可以不用些命令的方式
我们打开idea的maven窗口。
在这里插入图片描述
我们这里可以勾选不同的配置环境来打包对应的环境配置文件。

以上是关于Taro 多环境打包配置【开发,测试,生产环境】的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse Maven profiles 多环境配置,测试环境与开发环境分开打包

vue项目打包配置多环境

maven profile实现多环境打包

VUE项目多环境配置.md

极光消息推送多环境配置

使用Maven自动打包配置文件生成开发环境,测试环境,生产环境