摘要:有时候我们在代码里需要根据环境变量来决定一些逻辑。常见的比如,在测试环境访问的后端跟正式环境是不一样的。是个服务于框架的命令行工具,主要就是提供和等命令,屏蔽了的复杂配置,提供了自己的相对简单的配置能力。显然,这里的变量配置应当由来处理。
有时候我们在代码里需要根据环境变量来决定一些逻辑。常见的比如,在测试环境访问的后端url跟正式环境是不一样的。
不依赖框架的话,应当是基于webpack的define-plugin实现。如文档中所示的:
new webpack.DefinePlugin({ PRODUCTION: JSON.stringify(true), VERSION: JSON.stringify("5fa3b9"), BROWSER_SUPPORTS_HTML5: true, TWO: "1+1", "typeof window": JSON.stringify("object") });
回到dva。
dva核心是个基于redux封装的数据流方案,也可以当成一个轻量级框架。从框架的角度来讲,它其实很轻很轻,几乎没怎么管数据流之外的事情,只是简单地集成了少许几个库形成一个框架。
roadhog是个服务于框架的命令行工具,主要就是提供dev、build 和 test 等命令,屏蔽了webpack的复杂配置,提供了自己的相对简单的配置能力。
显然,这里的变量配置应当由roadhog来处理。不要像我当初一样觉得dva是个框架就应该有相关功能_(:зゝ∠)_
善用搜索引擎,从roadhog文档 - define和相关讨论容易找到方案。roadhog提供了define选项做DefinePlugin的事情。
具体使用:编辑.webpacrc.js
export default { define: { "process.env": {}, "process.env.NODE_ENV": process.env.NODE_ENV, "process.env.API_ENV": process.env.API_ENV, }, }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/101723.html
摘要:再看本篇文章之前,本人还是建议想入坑的童鞋可以选有来创建的项目,因为现在和还不成熟,坑相对要多一些,当然如果你已经做好跳坑的准备,那么请继续往下走本文适合对有一定了解的人。 再看本篇文章之前,本人还是建议想入坑react的童鞋可以选有create-react-app来创建react的项目,因为现在dva和roadhog还不成熟,坑相对要多一些,当然如果你已经做好跳坑的准备,那么请继续往...
摘要:为了折腾,简单的学习了下感觉确实不错。也为了不断学习,避免落伍,所以就折腾不断。既然这么多项目都提前使用了而我又是的粉,那么还是先研究下实现组件。鉴于本人也是学习,还有太多需要努力的。希望有志同学一起学习探讨。 为了折腾, 简单的学习了下TypeScript, 感觉确实不错。 也为了不断学习, 避免落伍, 所以就折腾不断。 前段时间用ES6,antd+dva写了一些demo, 发现an...
摘要:注本文是我在开发过程中遇到问题及解决方法的总结,之后会持续更新,希望帮助到更多的学习者。文中有不妥的地方希望指出共同学习,同时欢迎一起补充。 注:本文是我在开发过程中遇到问题及解决方法的总结,之后会持续更新,希望帮助到更多的学习者。文中有不妥的地方希望指出共同学习,同时欢迎一起补充。 npm篇 npm安装依赖报错:permission denied,错误信息大致如下: npm ERR!...
摘要:项目地址基于构建的移动端单页微应用,适合于核心概念的理解与掌握。前言这个项目是介于版本之后并且完全仿照功能设计的版本。但随之而来通常会有这样的疑问概念太多,并且都是分离的分文件。 react-mobile-starter 项目地址 基于 react + redux + react-router 构建的移动端单页微应用,适合于react、redux、react-router核心概念的理解...
阅读 1725·2021-11-25 09:43
阅读 1765·2021-11-24 10:41
阅读 3085·2021-09-27 13:36
阅读 792·2019-08-30 15:53
阅读 3543·2019-08-30 15:44
阅读 850·2019-08-30 14:03
阅读 2556·2019-08-29 16:38
阅读 981·2019-08-29 13:23