Mah*_*dam 24 webpack vue.js webpack-dev-server
我正在使用vue-cli webpack-simple模板生成我的项目,我想将请求代理到一个单独的后端服务器.如何轻松实现这一目标?
acd*_*ior 41
在@ vue/cli 3.x中:
vue.config.js的根文件夹中创建一个文件.// vue.config.js
module.exports = {
devServer: {
proxy: {
"/gists": {
target: "https://api.github.com",
secure: false
}
}
}
};
Run Code Online (Sandbox Code Playgroud)
现在任何调用(假设您的开发服务器处于localhost:8080)http://localhost:8080/gists将被重定向到https://api.github.com/gists.
假设您有一个通常部署在的本地后端服务器,localhost:5000并且您希望将所有呼叫重定向/api/anything到它.使用:
// vue.config.js
module.exports = {
devServer: {
proxy: {
"/api/*": {
target: "http://localhost:5000",
secure: false
}
}
}
};
Run Code Online (Sandbox Code Playgroud)
Man*_*ani 22
如果您使用webpack模板vue-cli,则可以在此参考文档中找到所需信息:
http://vuejs-templates.github.io/webpack/proxy.html
或者,您现在可以将webpack模板中的相关配置复制到本地webpack-simple模板中,而不是立即更改模板.
编辑:来自我本地设置的更多信息
这就是我在我的config/index.js下module.exports:
dev: {
env: require('./dev.env'),
port: 4200,
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
'/api': {
target: 'http://localhost:8080',
changeOrigin: true
},
'/images': {
target: 'http://localhost:8080',
changeOrigin: true
},
// and so on...
Run Code Online (Sandbox Code Playgroud)
上面的配置运行我vue-cli的端口4200,我在端口8080上运行我的服务器.
编辑:在评论#4和#5之后更正了有关CORS的信息
注意:
changeOrigin选项dev.proxyTable确保您不需要在服务器API响应上提供CORS头.changeOrigin因任何原因决定省略,则需要确保您的服务器API Access-Control-Allow-Origin: *在其响应标头中包含(或等效).参考文献:
小智 6
module.exports = {
devServer: {
proxy: {
'/api': {
target: 'http://genius.net',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
},
'/auth': {
target: 'http://genius23.net',
changeOrigin: true,
pathRewrite: {
'^/auth': ''
}
},
}
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17298 次 |
| 最近记录: |