详解nginx过滤url实现前台js的配置问题
我们在开发的过程中,可能需要一些配置,这些配置可能就是仅仅为了开发的方便,比方说,订单过期时间,生产环境需要半小时失效,但是真正开发时,我不可能等上个半小时,所以这个时间这个失效时间我们会写在配置文件中,这样开发环境和生产环境各一套配置,来回切换很方便的.
基于摘要里的,在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就是开发环境了
这样就可以实现配置的功能了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- 解决nginx+lua搭建文件上传下载服务问题
- Nginx配置React项目Url后直接输入路由路径时报404问题的解决
- nginx配置引发的403问题解决办法
- nginx服务器通过配置来解决API的跨域问题
- Nginx中worker connections问题的解决方法
- windows下nginx的安装使用及解决80端口被占用nginx不能启动的问题
- nginx服务器配置解决ajax的跨域问题
- 利用nginx解决跨域问题的方法(以flask为例)
- Nginx解决转发地址时跨域的问题
- nginx常见问题整理和解决办法
转载请注明出处:http://www.intsu.net/article/20230428/59072.html