]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
fix(compiler-sfc): compiler blank srcset (#3005)
authorunderfin <likui6666666@gmail.com>
Wed, 3 Feb 2021 18:27:34 +0000 (02:27 +0800)
committerGitHub <noreply@github.com>
Wed, 3 Feb 2021 18:27:34 +0000 (19:27 +0100)
fix https://github.com/vitejs/vite/issues/1523

packages/compiler-sfc/__tests__/__snapshots__/templateTransformSrcset.spec.ts.snap
packages/compiler-sfc/__tests__/templateTransformSrcset.spec.ts
packages/compiler-sfc/src/templateTransformSrcset.ts

index 2f0572799085ccb5f3743247783b6239dae7f72e..377d6a38763c7fa2b8adc613af880d8dca100176 100644 (file)
@@ -16,6 +16,10 @@ const _hoisted_8 = \\"/logo.png\\" + ', ' + _imports_0 + '2x'
 
 export function render(_ctx, _cache) {
   return (_openBlock(), _createBlock(_Fragment, null, [
+    _createVNode(\\"img\\", {
+      src: \\"./logo.png\\",
+      srcset: \\"\\"
+    }),
     _createVNode(\\"img\\", {
       src: \\"./logo.png\\",
       srcset: _hoisted_1
@@ -69,6 +73,10 @@ exports[`compiler sfc: transform srcset transform srcset w/ base 1`] = `
 
 export function render(_ctx, _cache) {
   return (_openBlock(), _createBlock(_Fragment, null, [
+    _createVNode(\\"img\\", {
+      src: \\"./logo.png\\",
+      srcset: \\"\\"
+    }),
     _createVNode(\\"img\\", {
       src: \\"./logo.png\\",
       srcset: \\"/foo/logo.png\\"
@@ -137,6 +145,10 @@ const _hoisted_11 = \\"data:image/png;base64,i\\" + '1x, ' + \\"data:image/png;b
 
 export function render(_ctx, _cache) {
   return (_openBlock(), _createBlock(_Fragment, null, [
+    _createVNode(\\"img\\", {
+      src: \\"./logo.png\\",
+      srcset: \\"\\"
+    }),
     _createVNode(\\"img\\", {
       src: \\"./logo.png\\",
       srcset: _hoisted_1
index 0874d31199ebcb2d10cecc4664b961b22a967e5a..465ca56704d5f2c064483f46a8cb5ac602d203f5 100644 (file)
@@ -25,6 +25,7 @@ function compileWithSrcset(template: string, options?: AssetURLOptions) {
 }
 
 const src = `
+<img src="./logo.png" srcset=""/>
 <img src="./logo.png" srcset="./logo.png"/>
 <img src="./logo.png" srcset="./logo.png 2x"/>
 <img src="./logo.png" srcset="./logo.png 2x"/>
index a667d984e1649ba3ec374e28a90c21d4ccf9b8e3..0018c4794f48f0d96727dee379975e4795a796f6 100644 (file)
@@ -46,7 +46,7 @@ export const transformSrcset: NodeTransform = (
         if (attr.name === 'srcset' && attr.type === NodeTypes.ATTRIBUTE) {
           if (!attr.value) return
           const value = attr.value.content
-
+          if (!value) return
           const imageCandidates: ImageCandidate[] = value.split(',').map(s => {
             // The attribute value arrives here with all whitespace, except
             // normal spaces, represented by escape sequences