uniapp专栏 ——vue3,ts,vite4,uniapp设置路径别名

写在前面

这些内容基于通过cli搭建的uniapp项目,使用了vite4,ts4.9,vue3(组合式API,setup语法糖)。如果有版本不一致,请谨慎参考。

正文

安装依赖

npm install --save-dev @types/node

在 Vite 中, '__dirname'  并不是一个全局变量,因此无法直接vite.config.ts  文件中使用它。如果可以的话

可以简单更简单的配置(实际上也可以,但是Vscode没有检测到,误报了,所以重新找了一下其他实现方法)

// vite.config.ts
import { defineConfig } from 'vite';
import { resolve } from 'path';

export default defineConfig({
  resolve: {
    alias: {
      '/@/': resolve(__dirname, './src'),
    },
  },
});

要解决这个问题,可以使用 Node.js 的  import.meta.url  属性来获取当前文件的路径。然后,利用  fileURLToPath()  方法将  import.meta.url  转换为文件路径,然后使用  dirname()  方法获取其所在目录的绝对路径。
配置vite.config.ts文件

// vite.config.ts
import { defineConfig } from 'vite';
import { dirname } from 'path';
import { fileURLToPath } from 'url';

const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
export default defineConfig({
  resolve: {
    alias: {
      '/@/': `$${__dirname}/src`
    },
  },
});

上面的代码已经配置了路径别名,我们使用ts,还需要配置
tsconfig.json

{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "/@/*": ["src/*"]
    }
  }
}
posted @ 2023-07-19 10:36  初学者-xjr  阅读(1987)  评论(0编辑  收藏  举报