我试图在我的API中将一个本地md文件转换为json,但我得到语法错误。
问题似乎是当我读取文件并将其存储为字符串变量时,它被存储为没有md 2 json工作所需的新行。当我控制台记录变量时,它被逐行打印出来,看起来就像md文件一样,但我不能转换它。当我将其作为respone发送并打印在我的页面上时,它打印出来:
# Air ## The second largest heading ###### The smallest heading
但原始md文件看起来是这样的:
# Air
## The second largest heading
###### The smallest heading
这是我曾经尝试过的:
const md2json = require('md-2-json');
const fs = require('fs');
router.get('/page', (req, res) => {
let content = fs.readFileSync('directory/file.md','utf8')
console.log(content)
res.send(content)
})
有没有什么方法可以让它工作,或者有没有其他更好的方法?我看到了一些关于XMLHttpRequest的帖子,但是没有真正让它工作。
//* 编辑:我现在发现我忘记了包括转换;下面是使用md 2 json时应该看到的样子:
router.get('/page', (req, res) => {
let content = fs.readFileSync('directory/file.md','utf8')
console.log(content)
let newContent = md2json.parse(content)
console.log(newContent)
res.send(newContent)
})
//* 编辑2:缺少\n似乎不是问题所在,因为这是可行的:
let mdInput = `# Air ## The second largest heading ###### The smallest heading`
router.get('/page', (req, res) => {
let newContent = md2json.parse(mdInput)
console.log(newContent)
res.send(newContent)
但这并不意味着:
let mdInput = `
# Air
## The second largest heading
##### The smallest heading
`
router.get('/page', (req, res) => {
let newContent = md2json.parse(mdInput)
console.log(newContent)
res.send(newContent)
3条答案
按热度按时间5lhxktic1#
我明白了:因为这个lib似乎允许h(n)只存在于h(n-1)中,所以h6不能直接存在于h2中,所以这应该能解决你的问题:
第一个
8ehkhllq2#
页面将所有内容打印在一行中,因为html默认情况下忽略
\n
作为换行符您必须使用
pre
标签将文字换行您也可以使用
white-space: pre
css属性或将\n
替换为<br>
bqucvtff3#
也许你需要用一点html来发送它: