diff --git a/src/generators/server-side-rendering/visitors/Text.ts b/src/generators/server-side-rendering/visitors/Text.ts index c35bd9ced9..dd59a384cb 100644 --- a/src/generators/server-side-rendering/visitors/Text.ts +++ b/src/generators/server-side-rendering/visitors/Text.ts @@ -7,5 +7,5 @@ export default function visitText( block: Block, node: Node ) { - generator.append(node.data.replace(/\${/g, '\\${')); + generator.append(node.data.replace(/(\${|`|\\)/g, '\\$1')); } diff --git a/test/runtime/samples/escape-template-literals/_config.js b/test/runtime/samples/escape-template-literals/_config.js new file mode 100644 index 0000000000..df22784ba7 --- /dev/null +++ b/test/runtime/samples/escape-template-literals/_config.js @@ -0,0 +1,3 @@ +export default { + html: '`${foo}\\n`' +}; diff --git a/test/runtime/samples/escape-template-literals/main.html b/test/runtime/samples/escape-template-literals/main.html new file mode 100644 index 0000000000..4705d114d2 --- /dev/null +++ b/test/runtime/samples/escape-template-literals/main.html @@ -0,0 +1 @@ +`${foo}\n`