通常我们的web程序研发大致可分为前/后端,我们遇到很多问题都是由如何联调代码造成的,此处我抛砖引玉给出一个解决方案.欢迎其他朋友接龙.
说我在 Testin 遇到的真实场景:
前端人员在本地编写代码,通过svn提交到svn服务器,然后手动执行svn up来查看变更的改动,每次修改都需要提交svn才能看到效果
当时看到这样的流程我觉得很难接受,为什么就没人觉得这个流程诡异和不方便呢,就没有相关去变更吗?
程序设计过程标准化应该是要降低复杂的操作成本,简化开发流程的.
于是我借助 nginx 的反向代理机制,给他们定制了一个测试方案,大致如下.
假设我们要开发 www.duixueren.net 这个网站, 项目规划初期,我们定义好基础的目录结构,
public/assets 假设此目录作为项目的前端资源文件存放目录
那我们下载nginx 服务器并安装,下载和安装流程请大家自行完成.
然后咨询下研发童鞋, 这个域名所运行的服务器的IP地址,此处假设为
202.101.100.120.
我们在nginx.conf 文件里面增加如下配置
server {
listen 80;
server_name www.duixueren.net;
default_type 'text/html; charset=UTF-8';
location /appstyle/ {
alias /var/gitlab/duixueren/public/assets;
}
location / {
proxy_pass http://202.101.100.120;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
接着我们在 hosts 文件里面添加一行:
127.0.0.1 www.duixueren.net
此处记得 调整 IP 地址,此处是关键,如果是dev环境就写dev环境的IP,qa环境就写qa环境的IP,线上环境就写线上环境的IP.
然后我们就可以在本地浏览器中调试各种开发环境的代码了,建议诸位使用 git 版本控制软件,这样就可以在一个相同的目录下来切换不同的环境分支代码了.
欢迎诸位参与讨论,下一篇计划写基于grunt在前端环境构建中的使用,谢谢.