const { defineConfig } = require("@vue/cli-service"); module.exports = defineConfig({ transpileDependencies: true, // 关闭eslint语法检测 lintOnSave: false, devServer: { //开发环境的服务器配置 // 是否自动弹出浏览器,默认false open: false, // 修改默认端口,默认8080 port: 9090, proxy: { //进行代理转发 '/api': { // 转发的网址 target: "https://game.gtimg.cn", // 是否开启本地代理 默认true changeOrigin: true, // 重要点 pathRewrite: { '^/api': '' } } } } }) <template> <div id="app"> <herotitle></herotitle> <hero></hero> </div> </template> <script> // 引入局部代码 import hero from './components/hero.vue'; import herotitle from './components/herotitle.vue'; import axios from 'axios' export default { name: 'App', components: { hero, herotitle }, //获取英雄列表信息 created(){ axios.get('/api/images/lol/act/img/js/heroList/hero_list.js') .then(res => { console.log(res); }) .catch(error => { console.error(error); }); } } </script> <style> </style> 请求地址为:https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js
时间: 2024-04-18 19:24:22 浏览: 207
这段代码是一个基于Vue框架开发的前端项目配置文件和组件代码。主要实现了以下功能:
1. 在开发环境中配置了一个服务器(devServer),可以自动打开浏览器,并且修改了默认端口为9090。
2. 使用代理转发功能,将以'/api'开头的请求转发到"https://game.gtimg.cn",并且在转发时去掉了'/api'前缀。
3. 在Vue组件中,引入了两个局部组件'hero'和'herotitle'。
4. 在created生命周期钩子函数中,使用axios发送了一个GET请求,请求地址为"https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js",并且打印了响应结果或错误信息。
以上就是这段代码的功能和作用,如果有其他问题,请继续提问。
相关问题
const { defineConfig } = require('@vue/cli-service') module.exports = defineConfig({ transpileDependencies: true, devServer: { proxy: { '/api': { target: 'http://localhost:3000', changeOrigin: true, pathRewrite: { '^/api': '' } } } } }); 目前这个配置无法读取devServer,这种配置是否生效
根据你提供的配置,我注意到你使用了 `defineConfig` 方法,这是 Vue CLI 4.x 版本及以上的写法。如果你使用的是较旧的 Vue CLI 版本,那么 `defineConfig` 方法可能无法识别。
如果你使用的是 Vue CLI 4.x 版本及以上,则此配置应该是有效的。确保你已经安装了 `@vue/cli-service` 包,并且在 `vue.config.js` 文件中正确引入了 `defineConfig` 方法。
请确保你执行了以下步骤:
1. 在项目根目录中创建 `vue.config.js` 文件。
2. 在 `vue.config.js` 文件中,使用以下代码引入 `defineConfig` 方法:
```javascript
const { defineConfig } = require('@vue/cli-service');
```
3. 在 `module.exports` 中使用 `defineConfig` 方法来定义配置:
```javascript
module.exports = defineConfig({
transpileDependencies: true,
devServer: {
proxy: {
'/api': {
target: 'http://localhost:3000',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
}
}
});
```
请确保你的配置文件与上述代码一致,并且没有其他错误。
如果你仍然遇到问题,可以提供更多错误信息或代码片段,以便我能够更好地帮助你解决问题。
const { defineConfig } = require('@vue/cli-service') module.exports = defineConfig({ devServer: { proxy: { '/api': { target: 'http://api.example.com:90',//代理的接口地址 changeOrigin: true,//允许跨域/api/v1/login/register_expert pathRewrite: { '^/api': '' } } } }, transpileDependencies: true })
你的`vue.config.js`文件中的配置看起来是正确的。这个配置会将以`/api`开头的请求代理到`http://api.example.com:90`这个目标地址,并允许跨域请求。同时,通过`pathRewrite`选项,将请求路径中的`/api`前缀重写为空字符串,以适应目标接口的路径。
这样配置后,你可以在前端代码中使用`/api`前缀来代替实际请求的域名部分。例如,原本的请求地址为`http://api.example.com:90/some/api`,现在可以改为`/api/some/api`。
请确保你已经正确安装了`@vue/cli-service`模块,并且重新启动了Vue项目,以使配置生效。如果一切正常,你应该能够成功进行跨域请求。
如果你仍然遇到问题,请提供更多的错误信息和细节,以便更好地帮助你解决问题。
阅读全文