Bootstrap

Vue提高开发速度之,文件别名和代码定位

需求

现在有一个需求,在页面中计算两个数字的和,在工具中已经写有了我们直接拿来用,例如:

页面的代码

<script setup>
import { sum } from '@/util/module/math/calc.js'

const num1 = ref(0)
const num2 = ref(0)

</script>

<template>
	<input type="number" v-model="num1" />
	<input type="number" v-model="num2" />
	<p>计算结果:{{ sum(num1, num2) }}</p>
</template>

calc.js的代码:

export const sum =(a, b) => {
	const res = a + b
	console.log('sum:', res)
	return res;
}

运行结果:

image-20250301163102904

咋一看没什么问题,但是!如果这个方法在多个页面中使用,就变得非常繁琐😅了,有什么方式不要写简洁的方法吗?肯定是有的!通过配置别名😁就行

vite.config.js的别名配置

import { defineConfig } from 'vite'
import path from 'path'
export default defineConfig({
  resolve: {
    // 别名的配置
    alias: {
    	'@': path.resolve(__dirname, './src'),
		'calc': path.resolve(__dirname, './src/util/module/math/calc.js')
    }
  }
})

页面修改后的代码:

<script setup>
import { sum } from 'calc'

const num1 = ref(0)
const num2 = ref(0)

</script>

<template>
	<input type="number" v-model="num1" />
	<input type="number" v-model="num2" />
	<p>计算结果:{{ sum(num1, num2) }}</p>
</template>

运行结果:

image-20250301164223902

细心的你可能发现了,使用别名之后,文件定位失效😥了,这个时候还需要设置一下文件路径:

jsconfig.json的配置

tip:如果没有请创建,如果是ts项目,则对应tsconfig.json文件

{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
        "@/*": ["src/*"],
        "calc": ["src/util/module/math/calc.js"]
    }
  }
}

把鼠标放到模块的上面,就可以显示路径位置了,按住ctrl键+鼠标右键就可以跳转文件位置了😍

image-20250301165543517

到这里配置就完成了!

需要注意的是,这个配置和别名并没有关联,也就是说,paths中指定文件位置和别名对不上也是可以的,比如写别的路径:

image-20250301170124661

;