utils/index.js
const printInfo = (msg) => {
console.log(msg);
}
export default {
printInfo
}
main.js
import utils from './utils'
// 全局属性配置
app.config.globalProperties.$utils = utils
vue组件
import { getCurrentInstance } from 'vue'
// 获取Component实例
const that = getCurrentInstance()?.proxy
that?.$utils.printInfo("这是一条消息")
ts声明文件 {文件名称}.d.ts声明文件
import { ComponentCustomProperties } from "@vue/runtime-core";
declare module '@vue/runtime-core' {
interface ComponentCustomProperties {
$utils: object; // 这里填类型
}
}
// 必须导出,才能在其他文件中使用
export default ComponentCustomProperties;
备注:文件名称随意,可以放在src的任意目录下,ts文件已经自动导入了,但因为要编译打包,最好不要和同级目录中已存在的文件名称相同,像我就是改成:extend.d.ts,放在src目录下的,其他全局变量挂载也可以往上追加。