目录
一、proxy配置代理转发+变更启动端口
二、配置使用@路径引入(@替换‘…/…/’)
一、proxy配置代理转发+变更启动端口
主要是为了解决跨域
vite.config.ts文件中
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
vue(),
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
],
server: {
host: '0.0.0.0',
++ port: 9999,//更改启动端口
// 反向代理
++ proxy: {
'/api': {
target: 'http://10.111.42.142:8000',//代理的地址
changeOrigin: true,
// rewrite: path => path.replace(/^\/api/, '')
}
}
}
})
二、配置使用@路径引入(@替换‘…/…/’)
根目录下vite.config.ts文件
/*
* @Author: jona
* @Date: 2022-03-07 16:03:06
* @LastEditTime: 2022-03-09 11:47:41
* @LastEditors: jona
* @Description:
* @FilePath: \sasp2.0\vite.config.ts
*/
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
++import { resolve } from 'path' // 主要用于alias文件路径别名
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
vue(),
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
],
server: {
host: '0.0.0.0',
port: 3001,//更改启动端口
// 反向代理
proxy: {
'/api': {
target: 'http://10.111.42.142:8000',//代理的地址
changeOrigin: true,
// rewrite: path => path.replace(/^\/api/, '')
}
}
},
++resolve: {
alias: {
'@': resolve(__dirname, '.', 'src'),
},
},
})
import { resolve } from 'path' // 主要用于alias文件路径别名
resolve: {
alias: {
'@': resolve(__dirname, '.', 'src'),
},
},
在?tsconfig.json中
{
"compilerOptions": {
"target": "esnext",
"useDefineForClassFields": true,
"module": "esnext",
"moduleResolution": "node",
"strict": true,
"jsx": "preserve",
"sourceMap": true,
"resolveJsonModule": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
++"baseUrl": ".",
++"paths": {//路劲映射相对于baseUrl
"@/*": [
"src/*"
]
},
"lib": ["esnext", "dom"]
},
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
"references": [{ "path": "./tsconfig.node.json" }]
}
配置完成使用
import request from "@/uitls/request"
若要有路径选择提示安装插件:?Path Intellisense
vscode插件库中搜索安装即可
其他ide自行安装
tip:import { resolve } from 'path' 会报错找不到path模块
因为path是node.js的用法,但是此处事ts文件需要安装ts的类型识别文件
npm install -D ts-node # 在你的本地项目中
npm install -g ts-node # 或者全局TypeScript使用(推荐)
npm install -D tslib @types/node # 取决于你的配置
这样就可以正常识别node.js的path
|