uni-app 多行字符串报错
uni-app 多行字符串报错
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
HbuilderX | 3.1.6 | - |
操作步骤:
直接报错[eslint-vue]Parsing error: Unterminated template
预期结果:
正常编译
实际结果:
编译失败
bug描述:
<template>
<view class=""></view>
</template>
<script>
var s = `<script></script>`;
</script>
更多关于uni-app 多行字符串报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于uni-app 多行字符串报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个常见的模板字符串解析错误。问题出现在JavaScript代码中使用了包含</script>
的模板字符串,这会被Vue模板编译器误认为是script标签的结束标记。
解决方案:
- 转义处理:将模板字符串中的
</script>
拆分为字符串连接
var s = `<` + `script><` + `/script>`;
- 使用Base64编码(适用于较长的多行字符串):
var s = atob('PHNjcmlwdD48L3NjcmlwdD4='); // 解码后为<script></script>
-
将内容移至外部文件:如果是较长的多行内容,建议将其放在单独的.js文件中导入
-
修改ESLint配置(临时方案):在
vue.config.js
中禁用相关规则
module.exports = {
lintOnSave: false
}