Skip to content

Commit 510d7b9

Browse files
committed
fix: handle scripts missing src
Fixes #240
1 parent f4de446 commit 510d7b9

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

src/plugins/transform.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ export function NuxtScriptBundleTransformer(options: AssetBundlerTransformerOpti
140140
if (canBundle) {
141141
const newSrc = options.resolveScript(src)
142142
if (src === newSrc) {
143-
if (src.startsWith('/'))
143+
if (src && src.startsWith('/'))
144144
console.warn(`[Nuxt Scripts: Bundle Transformer] Relative scripts are already bundled. Skipping bundling for \`${src}\`.`)
145145
else
146146
console.warn(`[Nuxt Scripts: Bundle Transformer] Failed to bundle ${src}.`)

src/runtime/composables/useScript.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,16 @@ export function useScript<T extends Record<symbol | string, any> = Record<symbol
2727
options = defu(options, useNuxtScriptRuntimeConfig()?.defaultScriptOptions) as NuxtUseScriptOptions<T, U>
2828
// browser hint optimizations
2929
const rel = options.trigger === 'onNuxtReady' ? 'preload' : 'preconnect'
30+
const isCrossOrigin = input.src && !input.src.startsWith('/')
3031
const id = resolveScriptKey(input) as keyof typeof nuxtApp._scripts
31-
if (options.trigger !== 'server' && (rel === 'preload' || !input.src.startsWith('/'))) {
32+
if (input.src && options.trigger !== 'server' && (rel === 'preload' || isCrossOrigin)) {
3233
useHead({
3334
link: [
3435
{
3536
rel,
3637
as: rel === 'preload' ? 'script' : undefined,
3738
href: input.src,
38-
crossorigin: input.src.startsWith('/') ? undefined : (typeof input.crossorigin !== 'undefined' ? input.crossorigin : 'anonymous'),
39+
crossorigin: isCrossOrigin ? undefined : (typeof input.crossorigin !== 'undefined' ? input.crossorigin : 'anonymous'),
3940
key: `nuxt-script-${id}`,
4041
tagPriority: rel === 'preload' ? 'high' : 0,
4142
fetchpriority: 'low',

0 commit comments

Comments
 (0)