• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

详解nginx过滤url实现前台js的配置问题

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

我们在开发的过程中,可能需要一些配置,这些配置可能就是仅仅为了开发的方便,比方说,订单过期时间,生产环境需要半小时失效,但是真正开发时,我不可能等上个半小时,所以这个时间这个失效时间我们会写在配置文件中,这样开发环境和生产环境各一套配置,来回切换很方便的.

基于摘要里的,在Java后台实现很方便,只需要读取properties配置文件即可

但是在前台js,js是在浏览器里执行的,无法读取服务器上的配置,除非请求后台,但是每次的开销也是挺大的,所以这个想法被ps了

这时候可以利用nginx,前台静态页面是部署在nginx中,所以我们可以配置nginx过滤某个js的url,然后指向我们需要的文件

前台代码

index.html

<!-- 即配置文件 -->
<script src="/config.js"></script>
<!-- 动态加载js -->
<script type="application/javascript">
  if (config.devMode == 'dev') {
    loadJs("开发环境的js");
  } else {
    loadJs("开发环境的js");
  }  

  function loadJs(url, callback) {
    // 实现
  }
</script>

配置文件(生产环境配置和开发环境的配置在不同路径下,但是文件名同名)

var config = {
  // 或者 prd
  devMode: 'dev',
  // 还可以配置请求后台的url前缀
  serverUrl: 'http://dev.company.com'
  // serverUrl: 'http://api.company.com'
}

nginx的配置

server {
  listen    80;
  server_name www.company.com;

  location / {
    root /Users/sunhao/Documents/company/project;
    index index.html;
    try_files $uri $uri/ /index.html;
    expires -1;
  }
}
server {
  listen    80;
  server_name debug.company.com;

  location / {
    root /Users/sunhao/Documents/company/project;
    index index.html;
    try_files $uri $uri/ /index.html;
    expires -1;
  }

  location ~ .flower\.js$ {
    root /Users/sunhao/Documents/company/project/js;
  }
}

前一个server配置的是生产环境,正常配置

后一个,过滤flower.js,定向到另外一个文件夹下

访问www.company.com就是正式环境

访问debug.company.com就是开发环境了

这样就可以实现配置的功能了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持极客世界。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Nginx配置文件nginx.conf详细说明发布时间:2022-02-12
下一篇:
使用MongoDB分析Nginx日志的方法详解发布时间:2022-02-12
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap