diff --git a/packages/types/config/render.d.ts b/packages/types/config/render.d.ts
index b16d00618e..ac60d62bc4 100644
--- a/packages/types/config/render.d.ts
+++ b/packages/types/config/render.d.ts
@@ -68,6 +68,7 @@ export interface NuxtOptionsRender {
) => string[]
}
injectScripts?: boolean
+ asyncScripts?: boolean
resourceHints?: boolean
ssr?: boolean
ssrLog?: boolean | 'collapsed'
diff --git a/packages/vue-renderer/src/renderers/modern.js b/packages/vue-renderer/src/renderers/modern.js
index a7551f981c..71c06dd715 100644
--- a/packages/vue-renderer/src/renderers/modern.js
+++ b/packages/vue-renderer/src/renderers/modern.js
@@ -51,7 +51,7 @@ export default class ModernRenderer extends SSRRenderer {
return scripts
}
- const scriptPattern = /`
+ if (this.options.render.asyncScripts) {
+ APP += ``
+ } else {
+ APP += ``
+ }
preloadScripts.push(stateUrl)
} else {
APP += ``
diff --git a/test/dev/basic.ssr.test.js b/test/dev/basic.ssr.test.js
index 92d1f5c58e..fef1410991 100644
--- a/test/dev/basic.ssr.test.js
+++ b/test/dev/basic.ssr.test.js
@@ -414,6 +414,11 @@ describe('basic ssr', () => {
expect(html).toContain('Auto discovered component!')
})
+ test('/ (normal