开发环境webpack devServer的proxy用法
阅读数:78 评论数:0
跳转到新版页面分类
html/css/js
正文
1、基本用法
module.exports = {
//...
devServer: {
proxy: {
'/api': 'http://localhost:3000'
}
}
};
//请求到 /api/xxx 现在会被代理到请求 http://localhost:3000/api/xxx,
//例如 /api/user 现在会被代理到请求 http://localhost:3000/api/user
2、代理多个路径到同一个target下
module.exports = {
//...
devServer: {
proxy: [{
context: ['/auth', '/api'],
target: 'http://localhost:3000',
}]
}
};
//如果你想要代码多个路径代理到同一个target下,
//你可以使用由一个或多个「具有 context 属性的对象」构成的数组:
3、忽略api前缀
module.exports = {
//...
devServer: {
proxy: {
'/api': {
target: 'http://localhost:3000',
pathRewrite: {'^/api' : ''}
}
}
}
};
//请求到 /api/xxx 现在会被代理到请求 http://localhost:3000/xxx,
//例如 /api/user 现在会被代理到请求 http://localhost:3000/user
4、忽略https安全提示
module.exports = {
//...
devServer: {
proxy: {
'/api': {
target: 'https://other-server.example.com',
secure: false
}
}
}
};
//默认情况下,不接受运行在 HTTPS 上,且使用了无效证书的后端服务器。
//如果你想要接受,只要设置 secure: false 就行。修改配置如下:
5、自定义规则
module.exports = {
//...
devServer: {
proxy: {
'/api': {
target: 'http://localhost:3000',
bypass: function(req, res, proxyOptions) {
if (req.headers.accept.indexOf('html') !== -1) {
console.log('Skipping proxy for browser request.');
return '/index.html';
}
}
}
}
}
};
6、跨域
module.exports = {
//...
devServer: {
proxy: {
'/api': {
target: 'http://localhost:3000',
changeOrigin: true,
}
}
}
};
//上面的参数列表中有一个changeOrigin参数, 是一个布尔值, 设置为true,
//本地就会虚拟一个服务器接收你的请求并代你发送该请求,
7、配置多个规则
module.exports = {
//...
devServer: {
proxy: {
'/api': {
target: 'http://localhost:3000',
changeOrigin: true,
},
'/img': {
target: 'https://cdn.wangyaxing.cn', // 接口的域名
secure: false, // 如果是https接口,需要配置这个参数
changeOrigin: true, // 如果接口跨域,需要进行这个参数配置
pathRewrite: {'^/img': ''} // pathRewrite 来重写地址,将前缀 '/api' 转为 '/'。
}
}
};
相关推荐
sourcemap和Data URL
1、sourcemap
我们在打包中,将开发环境中源代码经过压缩、去空格、babel编译转化,最终可以得到适用于生产环境的项
一、概述
Webpack 可以帮助我们完成一些任务。比如 js 压缩、css 压缩、编译模板文件等等,从而减少前端的工作量。当然,Webpack 功能很强大,能帮我们完成的工作远远不止这些。如果我们使
一、devtool
devtool用作调试,它的配置有很多种:
1、eval
每个模块用eval执行,并且存在@sourceUrl,就是说这种配置的devtool,在打包的时候,生成的bundle.j
一、生命周期
1、vue2生命周期
beforeCreate #实例初始化之后,进行数据侦听和事件/侦听器的配置之前同步调用
created #实例创建完成后被立即同步调用
beforeMount #
一、概述
都是现代化打包工具
二、对比
1、底层语言
从底层原理上来说,Vite是基于esbuild预构建依赖。而esbuild是采用go语言编写,因为go语言的操作是纳秒级别,而js是以毫秒计数,所
一、概述
所有语言中的代理,其本实现的是对原对象的操作的拦截和一些自定义行为。
二、语法
const p = new Proxy(target, handler)
1、target
可以是任何类型的
一、概述
图片是 Web 页面中最耗费带宽和加载时间的资源之一。
压缩图片
压缩图片可以减少图片的文件大小,从而减少加载时间。
使用矢量图形
使用矢量图形(如 SVG)可以减少文件大小,并且