vite-alias配置

基本配置

需要加入path依赖:

npm install path

在 vite.config.ts 文件的配置:

import { defineConfig } from "vite"
import react from "@vitejs/plugin-react"
import path from "path"

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [react()],
  resolve: {
    alias: {
      "@": path.resolve(__dirname, "./src")
    }
  }
})

在 typescript 项目中进行配置

在 vite + typescript 中配置路径别名时需要注意, 直接使用__dirname的话, typescript 会报错cannot find name '__dirname', 这时候需要拉取依赖

npm install -D @types/node

来给让 typescript 识别出__dirname.

并且需要在ts.config.json内设置:

"compilerOptions":{
    "paths":{
    "@/*": ["./src/*"],
   },
}

注意, 若在src前无./, 可能会报错:

Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?

这是因为需要在ts.config.json中指定相对路径, 只需要指定相对路径即可.

# 同级目录下的相对路径
./

# 上级目录下的相对路径
../

使用 vscode 时无 intelligence(智能提示)

需要在ts.config.json或者jsconfig.json中设置:

"compilerOptions":{
    "baseUrl":"./"
}

来指定项目的基本路径. 这时候在 vscode 中路径引入时打出@之后, 就可以提示路径了.

设置baseUrl后, 可以不用在paths配置内使用相对路径了.

reference

  • https://bobbyhadz.com/blog/typescript-cannot-find-name-dirname
### vite-plugin-mock 插件使用教程 #### 安装依赖包 为了在项目中使用 `vite-plugin-mock`,需要先通过 npm 或 yarn 来安装必要的依赖项。对于 Vue 3 和 TypeScript 的项目来说,除了该插件本身外还需要安装 `mockjs` 库以及 HTTP 请求库如 Axios。 ```bash npm install mockjs vite-plugin-mock axios --save-dev ``` #### 创建 Mock 文件夹与数据文件 接着,在项目的根目录下建立名为 `mock` 的新文件夹用于存放所有的模拟接口定义文件。通常情况下会有一个默认的 JavaScript 文件来作为起点,比如命名为 `index.js`: ```javascript // ./mock/index.js import { setupProdMockServer } from 'vite-plugin-mock'; export function setupMock() { const mocks = [ // 这里放置具体的 API 路径匹配规则及其对应的响应逻辑... ]; if (process.env.NODE_ENV === "development") { return setupProdMockServer(mocks); } } ``` 此段代码展示了如何设置开发环境下自动启动的服务端监听器[^3]。 #### 修改 Vite 配置文件 编辑现有的 `vite.config.ts` (如果是TypeScript工程),引入并注册之前创建好的 mock 函数到构建过程中去: ```typescript /// <reference types="vitest" /> import { defineConfig, loadEnv } from 'vite' import vue from '@vitejs/plugin-vue' import path from 'path' import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' import * as path from 'path' // https://vitejs.dev/config/ export default ({ mode }) => { process.env = {...process.env, ...loadEnv(mode, process.cwd())} return defineConfig({ plugins: [ vue(), AutoImport({ resolvers: [ElementPlusResolver()], }), Components({ resolvers: [ElementPlusResolver()] }), require('./mock').setupMock!() ], resolve: { alias: { '@': path.resolve(__dirname, './src') }, }, server: { port: 8080, open: true } }) } ``` 这段配置使得当服务器重启时能够重新加载最新的 mock 数据变化[^2]。 #### 编写第一个 Mock 接口 现在可以在 `./mock` 下新建 js/json 文件用来描述 RESTful APIs 返回的内容格式。例如新增加一个 userApi.js : ```javascript // ./mock/userApi.js const users = [{ id: 1, name: 'John Doe', email: 'john@example.com' }]; export default [ { url: '/api/users', method: 'get', response: () => ({ code: 200, message: 'success', data: users }) } ]; ``` 最后一步就是把上面这个数组添加进我们最开始写的那个全局性的 mock 列表里面去了。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值