初学 vue3+TS,以下代码报错 SyntaxError: Invalid end tag...... 请问怎么解决?

我想在页面中直接显示一段代码,可是发现无法给变量赋值带script标签的代码:
选项式写法:

<script lang="ts">
export default{
    data:{
        code8:`<script>console.log("hello world")</script>`
    }
}
</script>

<template>
    <h1>测试页面</h1>
    <div>{{code8}}</div>
</template>

报错:

✓ 8 modules transformed.
[vite:vue] Invalid end tag.
file: /home/code/study-vue/src/components/Test.vue:7:1
error during build:
SyntaxError: Invalid end tag.
    at createCompilerError (/home/code/study-vue/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js:18:19)
    at emitError (/home/code/study-vue/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js:1573:29)
    at parseChildren (/home/code/study-vue/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js:922:25)
    at Object.baseParse (/home/code/study-vue/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js:847:23)
    at Object.parse (/home/code/study-vue/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js:3057:25)
    at Object.parse (/home/code/study-vue/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:5061:26)
    at createDescriptor (file:///home/code/study-vue/node_modules/@vitejs/plugin-vue/dist/index.mjs:61:43)
    at transformMain (file:///home/code/study-vue/node_modules/@vitejs/plugin-vue/dist/index.mjs:2212:34)
    at Object.transform (file:///home/code/study-vue/node_modules/@vitejs/plugin-vue/dist/index.mjs:2701:16)
    at file:///home/code/study-vue/node_modules/rollup/dist/es/shared/rollup.js:22748:40

组合式写法:

<script setup lang="ts">
const code8 = '<script>console.log("hello world")</script>'
</script>

<template>
    <h1>测试页面</h1>
    <div>{{code8}}</div>
</template>

报错:

vite v3.2.2 building for production...
✓ 8 modules transformed.
[vite:vue] Invalid end tag.
file: /home/code/study-vue/src/components/Test.vue:3:1
error during build:
SyntaxError: Invalid end tag.
    at createCompilerError (/home/code/study-vue/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js:18:19)
    at emitError (/home/code/study-vue/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js:1573:29)
    at parseChildren (/home/code/study-vue/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js:922:25)
    at Object.baseParse (/home/code/study-vue/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js:847:23)
    at Object.parse (/home/code/study-vue/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js:3057:25)
    at Object.parse (/home/code/study-vue/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:5061:26)
    at createDescriptor (file:///home/code/study-vue/node_modules/@vitejs/plugin-vue/dist/index.mjs:61:43)
    at transformMain (file:///home/code/study-vue/node_modules/@vitejs/plugin-vue/dist/index.mjs:2212:34)
    at Object.transform (file:///home/code/study-vue/node_modules/@vitejs/plugin-vue/dist/index.mjs:2701:16)
    at file:///home/code/study-vue/node_modules/rollup/dist/es/shared/rollup.js:22748:40
will@ubuntu-desktop:/home/code/study-vue$ ^C
阅读 6.8k
1 个回答

中间的这一段内容需要调整一下:

<script lang="ts">
export default{
  data:{
-   code8:`<script>console.log("hello world")</script>`
+   code8:`<script>console.log("hello world")<\/script>`
  }
}
</script>

相关阅读
[[plugin:vite:vue] Invalid end tag. · Issue #6454 · vitejs/vite](https://github.com/vitejs/vit...)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题