vue前端项目测试环境部署 & nginx配置
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了vue前端项目测试环境部署 & nginx配置,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3226字,纯文字阅读大概需要5分钟。
内容图文
[ 测试环境服务器目录 ]
(温馨提示:配置1,配置2均在 vue.config.js 文件中修改)
1. 配置 publicPath
默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上,
例如:https://www.histomed.com。
如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径,
例如:如果你的应用被部署在 https://www.histomed.com/admin/,则设置 baseUrl 为 /admin/。
(此处做了环境的区分,其实这里可以直接写为publicPath:'/pcp/')
运行命令 npm run build ,打包后生成 dist 目录:
此时可以看到,在每一个被引入的文件的路径前面多了 /pcp/
而这个 /pcp/ 就是我们刚刚在 vue.config.js 文件中配置的 publicPath 属性,否则找不能正确找到测试环境服务器下的pcp路径。
2. 配置 devServer (开发环境转发解决跨域)
在 VUE CLI3 的根目录下创建 .env.development 文件或 .env.production 文件后,
可以在全局通过 process.env 找到对应文件下相应的属性值(如: NODE_ENV , BASE_API等):
【关于proxyTable的原理】
同源策略 是浏览器需要遵循的标准,而如果是服务器向服务器请求就无需遵循同源策略。
vue-cli3 的 proxyTable 用的是 http-proxy-middleware 中间件,该中间件本质上是在本地开了一个服务器 devServer,所有的请求都通过这里转发出去,即把浏览器的发送请求代理转发到代理服务器上,再由代理服务器发送请求给目标服务器,从而解决跨域问题。
3. 配置 nginx(生产环境转发解决跨域)
server { listen 80; server_name localhost; location /pcp { root /alidata/www/test.hengdaomed.com; try_files $uri $uri/ /pcp/index.html; index index.html index.htm; } location /pcp-be { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:10999/pcp; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
[ vue.config.js ]:
'use strict' const path = require('path') const defaultSettings = require('./src/settings.js') function resolve(dir) { return path.join(__dirname, dir) } const name = defaultSettings.title || '远程会诊管理系统' // 标题 const port = process.env.port || process.env.npm_config_port || 80 // 端口 // vue.config.js 配置说明 //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions // 这里只列一部分,具体配置参考文档 module.exports = { // 部署生产环境和开发环境下的URL。 // 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上 // 例如 https://www.histomed.com。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.histomed.com/admin/,则设置 baseUrl 为 /admin/。 publicPath: process.env.NODE_ENV === "production" ? "/pcp/" : "/pcp/", // 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist) outputDir: 'dist', // 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下) assetsDir: 'static', // 是否开启eslint保存检测,有效值:ture | false | 'error' lintOnSave: process.env.NODE_ENV === 'development', // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。 productionSourceMap: false, // webpack-dev-server 相关配置 devServer: { host: '0.0.0.0', port: port, proxy: { '/dev-api' : { target: `http://localhost:10999/pcp`, changeOrigin: true, pathRewrite: { '^/dev-api': '' } } }, disableHostCheck: true }, configureWebpack: { name: name, resolve: { alias: { '@': resolve('src') } } } }
内容总结
以上是互联网集市为您收集整理的vue前端项目测试环境部署 & nginx配置全部内容,希望文章能够帮你解决vue前端项目测试环境部署 & nginx配置所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。