如何配置vue2+webpack+proxy与nginx实现长尾词反向代理?

2026-04-02 21:151阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计861个文字,预计阅读时间需要4分钟。

如何配置vue2+webpack+proxy与nginx实现长尾词反向代理?

目录

一、项目打包后,ElementUi图标显示为方框问题

二、如何给项目添加ico图标

三、proxy本地跨域配置

四、nginx配置

提示:以下是本章文章正文内容,下面是案例示例可供参考

一、项目打包后,ElementUi图标显示为方框问题

1.确保在项目中正确引入了ElementUi组件库。

2.检查项目中的样式文件是否正确引入。

3.检查浏览器缓存,清除缓存后重新加载页面。

二、如何给项目添加ico图标

1.在项目根目录下创建一个名为public的文件夹。

2.将ico图标文件放入public文件夹中。

3.在项目的入口文件中,添加以下代码:

javascriptimport './public/favicon.ico';

三、proxy本地跨域配置

1.在项目的根目录下创建或修改vue.config.js文件。

2.在文件中添加以下配置:

如何配置vue2+webpack+proxy与nginx实现长尾词反向代理?

javascriptmodule.exports={ devServer: { proxy: { '/api': { target: 'http://localhost:3000', changeOrigin: true, pathRewrite: { '^/api': '' } } } }}

四、nginx配置

1.修改nginx配置文件,添加以下配置:

nginxserver { listen 80; server_name localhost;

location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }}

目录
  • 一、项目打包后,elementUi图标显示为方框问题
  • 二、如何给项目添加ico图标
  • 三、proxy本地跨域配置
  • 四、nginx配置

提示:以下是本篇文章正文内容,下面案例可供参考

一、项目打包后,elementUi图标显示为方框问题

解决:

修改build文件=》utils.js中的ExtractTextPlugin,加入 publicPath: ‘…/…/’,

if (options.extract) { return ExtractTextPlugin.extract({ use: loaders, fallback: 'vue-style-loader', publicPath: '../../', //elementui图标显示不全问题 }) } else { return ['vue-style-loader'].concat(loaders) }

二、如何给项目添加ico图标

例如:

实现步骤:

1. 把icon图片放在项目的根目录下

2. build文件下的webpack.dev.conf.js 和 webpack.prod.conf.js 文件内搜索HtmlWebpackPlugin;并加入favicon: './favicon.ico’代码

new HtmlWebpackPlugin({ filename: 'index.html', template: 'index.html', inject: true, favicon: './favicon.ico' }),

三、proxy本地跨域配置

本人项目使用的是vue2+webpack技术栈,所以跨域是基于此技术栈之上配置。

// config文件=》index.js中proxyTable proxyTable: { '/api': { target: 'www.baidu.com:8080', // 此处为接口的真实地址 changeOrigin: true, pathRewrite: { '^/api': '' } }, },

之前想区分开发和生产环境的接口,所以在target使用了process.env.ROOT_URL,结果发现本地代理失败了,后面才知道在此文件内获取不到process;即使这样设置也是多余的,因为在项目打包后本地代理是没有失效的

接口封装文件相关配置,或者也可以在config文件=》的dev.env.js文件内添加BASE_API: ‘/api’,这里的baseURL配置process.env.BASE_API

var instance = axios.create({ baseURL: '/api', //接口统一域名 withCredentials: false, timeout: 5000, //设置超时 headers: { 'Content-Type': 'application/json;charset=UTF-8;', } })

四、nginx配置

1. nginx=>conf=>nginx.conf文件配置

server { listen 8088; //端口号默认80,若是端口冲突,可以更改端口号 server_name localhost; // #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } // 此处的 /api要和上面的接口封装处的baseURL一致,代理才有效果,之前被这个坑了好久 location /api { rewrite ^/api/(.*) /$1 break; proxy_pass www.baidu.com:8080; // 此处为接口的真实地址 }

2. 双击nginx文件夹下nginx.exe启动端服务

3. 浏览器输入 localhost:8088访问

以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

本文共计861个文字,预计阅读时间需要4分钟。

如何配置vue2+webpack+proxy与nginx实现长尾词反向代理?

目录

一、项目打包后,ElementUi图标显示为方框问题

二、如何给项目添加ico图标

三、proxy本地跨域配置

四、nginx配置

提示:以下是本章文章正文内容,下面是案例示例可供参考

一、项目打包后,ElementUi图标显示为方框问题

1.确保在项目中正确引入了ElementUi组件库。

2.检查项目中的样式文件是否正确引入。

3.检查浏览器缓存,清除缓存后重新加载页面。

二、如何给项目添加ico图标

1.在项目根目录下创建一个名为public的文件夹。

2.将ico图标文件放入public文件夹中。

3.在项目的入口文件中,添加以下代码:

javascriptimport './public/favicon.ico';

三、proxy本地跨域配置

1.在项目的根目录下创建或修改vue.config.js文件。

2.在文件中添加以下配置:

如何配置vue2+webpack+proxy与nginx实现长尾词反向代理?

javascriptmodule.exports={ devServer: { proxy: { '/api': { target: 'http://localhost:3000', changeOrigin: true, pathRewrite: { '^/api': '' } } } }}

四、nginx配置

1.修改nginx配置文件,添加以下配置:

nginxserver { listen 80; server_name localhost;

location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }}

目录
  • 一、项目打包后,elementUi图标显示为方框问题
  • 二、如何给项目添加ico图标
  • 三、proxy本地跨域配置
  • 四、nginx配置

提示:以下是本篇文章正文内容,下面案例可供参考

一、项目打包后,elementUi图标显示为方框问题

解决:

修改build文件=》utils.js中的ExtractTextPlugin,加入 publicPath: ‘…/…/’,

if (options.extract) { return ExtractTextPlugin.extract({ use: loaders, fallback: 'vue-style-loader', publicPath: '../../', //elementui图标显示不全问题 }) } else { return ['vue-style-loader'].concat(loaders) }

二、如何给项目添加ico图标

例如:

实现步骤:

1. 把icon图片放在项目的根目录下

2. build文件下的webpack.dev.conf.js 和 webpack.prod.conf.js 文件内搜索HtmlWebpackPlugin;并加入favicon: './favicon.ico’代码

new HtmlWebpackPlugin({ filename: 'index.html', template: 'index.html', inject: true, favicon: './favicon.ico' }),

三、proxy本地跨域配置

本人项目使用的是vue2+webpack技术栈,所以跨域是基于此技术栈之上配置。

// config文件=》index.js中proxyTable proxyTable: { '/api': { target: 'www.baidu.com:8080', // 此处为接口的真实地址 changeOrigin: true, pathRewrite: { '^/api': '' } }, },

之前想区分开发和生产环境的接口,所以在target使用了process.env.ROOT_URL,结果发现本地代理失败了,后面才知道在此文件内获取不到process;即使这样设置也是多余的,因为在项目打包后本地代理是没有失效的

接口封装文件相关配置,或者也可以在config文件=》的dev.env.js文件内添加BASE_API: ‘/api’,这里的baseURL配置process.env.BASE_API

var instance = axios.create({ baseURL: '/api', //接口统一域名 withCredentials: false, timeout: 5000, //设置超时 headers: { 'Content-Type': 'application/json;charset=UTF-8;', } })

四、nginx配置

1. nginx=>conf=>nginx.conf文件配置

server { listen 8088; //端口号默认80,若是端口冲突,可以更改端口号 server_name localhost; // #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } // 此处的 /api要和上面的接口封装处的baseURL一致,代理才有效果,之前被这个坑了好久 location /api { rewrite ^/api/(.*) /$1 break; proxy_pass www.baidu.com:8080; // 此处为接口的真实地址 }

2. 双击nginx文件夹下nginx.exe启动端服务

3. 浏览器输入 localhost:8088访问

以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。