第一种方法

这个很简单直接以import的形式引入,在后面加一个?raw,然后使用yaml模块进行解析即可

import config from '@/assets/managerCool.config.yml?raw'
import {parse} from 'yaml'
console.log(parse(config))

第二种方法

1. 转文件对象函数

​ 记得安装axios

import axios from "axios";

async function urlToFile(url:string, fileName:string) {
    try {
        const response = await axios.get(url, { responseType: 'blob' });
        return  new File([response.data], fileName, { type: response.headers['content-type'] });
    } catch (error) {
        console.error('Error fetching image:', error);
    }
}

export {
    urlToFile
}

2. 读取文件内容函数

/**
 * 读取文件的方法,返回Promise对象
 * @param file 要读取的文件对象
 * @param encoding 文件编码格式,默认为'utf-8'
 */
function readFile(file: File, encoding = 'utf-8'): Promise<string> {
    return new Promise((resolve, reject) => {
        // 创建FileReader对象
        const reader = new FileReader();
        // 当文件读取完成后,调用resolve方法返回文件内容
        reader.onload = function () {
            resolve(reader.result as string);
        };
        // 当文件读取出错时,调用reject方法返回错误信息
        reader.onerror = function () {
            reject(reader.error);
        };
        // 以指定的编码格式读取文件内容
        reader.readAsText(file, encoding);
    });
}

export {
    readFile
}

3. 解析yaml文件

​ 需要安装yaml模块

import {parse} from 'yaml'

parse('文件内容')

4. 使用

​ const url = import.meta.env.VITE_CONFIG_URL;这个是我自己的配置的地址,具体的可以查看vite官网的env配置,其实这里的url就是一个指向yaml文件地址的字符串,你直接写你的yaml文件所在位置就行

import {readFile} from "@/tools/readFile.ts";
import {urlToFile} from "@/tools/urlToFile.ts";
import {parse} from 'yaml'

const url = import.meta.env.VITE_CONFIG_URL;
const name = 'config.yml';
urlToFile(url, name).then(file => {
  // 使用转换后的File对象
  readFile(file as File).then(res=>{
    console.log(parse(res))
  })
});