在脚本中编写 ejs 时出现错误 'Expression expected'
writing ejs in a script is giving me the error 'Expression expected'
我的 show.ejs 文件中有一个脚本标记,并且有以下行:
<script>
const post = <%- JSON.stringify(post) %>
</script>
我在开始和结束 ejs 标签上都收到 'Error Expected' 错误。我想知道为什么会出现此错误,如果我正在做的事情是不允许的。
我对 VS 代码也有同样的问题,如果你使用 VS,你需要在 html 这一行
的配置中添加到 settings.json 的末尾
"html.validate.scripts": false,
在右下角找到html
然后找到配置HTML语言
并将行添加到 json 文件的末尾
有2种可选方式。
1)
更改 EJS 的全局分隔符。
const ejs = require("ejs");
ejs.delimiter = '/';
ejs.openDelimiter = '[';
ejs.closeDelimiter = ']';
更新您的脚本。
<script>
const post= [/- JSON.stringify(post) /];
</script>
2)
将此 属性 添加到 VSCode 中的 settings.json。
"html.validate.scripts": false
更改 EJS 的全局分隔符。
const ejs = require("ejs");
ejs.delimiter = '?';
ejs.openDelimiter = '[';
ejs.closeDelimiter = ']';
更新您的脚本。
<script>
const post= [?- JSON.stringify(post) ?];
</script>
注意:自动格式将以两种方式正常工作。
注意:我更喜欢第一个,因为我可以同时使用自动格式和脚本验证,而且我不需要任何 EJS 扩展。
我的 show.ejs 文件中有一个脚本标记,并且有以下行:
<script>
const post = <%- JSON.stringify(post) %>
</script>
我在开始和结束 ejs 标签上都收到 'Error Expected' 错误。我想知道为什么会出现此错误,如果我正在做的事情是不允许的。
我对 VS 代码也有同样的问题,如果你使用 VS,你需要在 html 这一行
的配置中添加到 settings.json 的末尾"html.validate.scripts": false,
在右下角找到html
然后找到配置HTML语言
有2种可选方式。
1)
更改 EJS 的全局分隔符。
const ejs = require("ejs");
ejs.delimiter = '/';
ejs.openDelimiter = '[';
ejs.closeDelimiter = ']';
更新您的脚本。
<script>
const post= [/- JSON.stringify(post) /];
</script>
2)
将此 属性 添加到 VSCode 中的 settings.json。
"html.validate.scripts": false
更改 EJS 的全局分隔符。
const ejs = require("ejs");
ejs.delimiter = '?';
ejs.openDelimiter = '[';
ejs.closeDelimiter = ']';
更新您的脚本。
<script>
const post= [?- JSON.stringify(post) ?];
</script>
注意:自动格式将以两种方式正常工作。
注意:我更喜欢第一个,因为我可以同时使用自动格式和脚本验证,而且我不需要任何 EJS 扩展。