У меня есть проект vue/vie, в котором я пытаюсь прочитать файл уценки, который у меня есть, в html, используя помеченный.
Я попытался использовать fetch API, чтобы импортировать его в виде строки, но только потому, что не мог понять, как использовать код node.js в vue.
Вот vue-файл:
<script setup>
import { marked } from 'marked'
</script>
<script>
export default {
data() {
return {
query: this.getQueryVariable("q"),
markdown: ''
}
},
mounted() {
fetch('../src/markdown/About.md')
.then(response => response.text())
.then(text => this.markdown = text)
document.querySelector('.marked').innerHTML = marked.parse(this.markdown)
}
}
</script>
<template>
<div class='marked'>
</div>
</template>



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам нужно обновить DOM внутри обратного вызова Promise, хотя делать это через Vue может быть предпочтительнее:
fetch("../src/markdown/About.md")
.then((response) => response.text())
.then((text) => {
this.markdown = text;
document.querySelector(".marked").innerHTML = marked.parse(this.markdown);
});
С Vite вы можете импортировать активы в виде строк, используя суффикс ?raw и async/await:
const markdownFileContent = (await import(`path/to/markdown/file.md?raw`)).default;
const htmlString = marked.parse(markdownFileContent);