ionic2/3实战-多环境配置

前言

  • 一般我们把项目所有的配置放在一个文件中,如下图的Constants.ts文件

  • 但是每个项目至少有2个环境(开发和生产),于是经常通过注释代码的方式更改配置,这样有点麻烦而且容易遗忘

// export const APP_SERVE_URL = 'http://88.128.19.209:9898/api/'; // 开发
   export const APP_SERVE_URL = 'http://172.16.19.137:9020/api/'; // 测试
// export const APP_SERVE_URL = 'https://yanxiaojun617.com/invoice/api/'; // 生产
  • 然后就有了如下图这样的优化,但打包时还是会忘记修改IS_DEBUG变量

  • 接下来我们通过自定义脚本的方式更改配置

实操

  • 首先新建两个配置文件Constants-dev.tsConstants-prod.ts,如下图,内容就是一个配置开发环境,一个配置生产环境

  • 新建脚本文件,如下图,脚本内容就是根据env参数复制不同的配置文件内容到Constants.ts文件。源码:setup-env.js

  • 测试脚本文件,看看Constants.ts内容是否改变

node scripts/setup-env.js dev 
node scripts/setup-env.js prod
  • 测试通过后把调用命名加入到package.json中,如下图

  • 最后使用npm run调用脚本

  • 使用编辑器提供的快捷运行方式更方便,还可以通过快捷键控制:ctrl+F5运行、ctrl+F2停止

其他

  • 再添加一个test环境也很方便,新建一个Constants-test.ts,添加一条运行命令,如下图

  • 原理就是在执行ionic cli命令前先执行一段脚本,这种方式很灵活;若要直接运行ionic serve起作用,可以在package.json中配置ionic_webpack,如下图,但是process.env.IONIC_ENV值只有devprod,添加其他环境就比较麻烦了;此配置参考官网文档

最后

  • 本脚本使用nodejs语法,对于前端开发人员来说nodejs还是很容易上手的,其次还要了解一点npm scripts知识

  • 如果你使用Mac并了解Linux的bash命令,那使用系统级别的命令效率是最高的。window不支持bash命令?可以在cmder上运行哦,如下图 setup-env.sh源码


  • 通过这么一个小脚本,举一反三,可以写出更复杂的脚本,如自定义cordova插件经常要写相关脚本,也可以模仿各种cli写出自己业务相关的cli,如代码生成器或开发小工具发布到npm平台

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,083评论 19 139
  • 本方法已弃用,请参考新方法 ionic 3 开发环境切换 ionic 优雅的解决开发跨域及后台环境切换 之前主要接...
    凌音同学阅读 1,354评论 0 8
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,989评论 6 342
  • 微信把自己5月份的成绩发朋友圈后会感到不安,不敢看评论。 想法:在意别人对自己的看法,怕不懂的人有否定意见,懂的人...
    爱读书的雅子阅读 245评论 4 2
  • 这里谈论的偶像是相对粉丝而言的,希望与相对信徒而言的偶像作区分。 最近了解或者说愿意接受了两件事,一件是新垣结衣好...
    PervasvFragrce阅读 660评论 0 0