From 82a11a1c3b028686c0408127a3531d44db582214 Mon Sep 17 00:00:00 2001
From: poyoho <907415276@qq.com>
Date: Mon, 6 Dec 2021 21:05:51 +0800
Subject: [PATCH 1/6] feat: src import ignore descriptor index
---
packages/plugin-vue/src/main.ts | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/packages/plugin-vue/src/main.ts b/packages/plugin-vue/src/main.ts
index bb3076763844bd..6ab6e2fa3dbb3f 100644
--- a/packages/plugin-vue/src/main.ts
+++ b/packages/plugin-vue/src/main.ts
@@ -312,7 +312,8 @@ async function genStyleCode(
const attrsQuery = attrsToQuery(style.attrs, 'css')
const srcQuery = style.src ? `&src` : ``
const directQuery = asCustomElement ? `&inline` : ``
- const query = `?vue&type=style&index=${i}${srcQuery}${directQuery}`
+ const index = style.src ? 0 : i
+ const query = `?vue&type=style&index=${index}${srcQuery}${directQuery}`
const styleRequest = src + query + attrsQuery
if (style.module) {
if (asCustomElement) {
From dd08faa11f2f6705591d456935344da158f4616e Mon Sep 17 00:00:00 2001
From: poyoho <907415276@qq.com>
Date: Tue, 7 Dec 2021 22:35:38 +0800
Subject: [PATCH 2/6] test: multiple Vue files use the same src file, cache
will be overwritten test
---
packages/playground/vue/src-import/SrcImport.vue | 3 ++-
packages/playground/vue/src-import/a.vue | 3 +++
packages/playground/vue/src-import/b.vue | 3 +++
packages/playground/vue/src-import/script.ts | 5 +++++
packages/playground/vue/src-import/style2.css | 3 +++
packages/playground/vue/src-import/template.html | 2 ++
6 files changed, 18 insertions(+), 1 deletion(-)
create mode 100644 packages/playground/vue/src-import/a.vue
create mode 100644 packages/playground/vue/src-import/b.vue
create mode 100644 packages/playground/vue/src-import/style2.css
diff --git a/packages/playground/vue/src-import/SrcImport.vue b/packages/playground/vue/src-import/SrcImport.vue
index ac7ec78c869e65..d70e1f48a84331 100644
--- a/packages/playground/vue/src-import/SrcImport.vue
+++ b/packages/playground/vue/src-import/SrcImport.vue
@@ -1,3 +1,4 @@
+
+
-
diff --git a/packages/playground/vue/src-import/a.vue b/packages/playground/vue/src-import/a.vue
new file mode 100644
index 00000000000000..3895ab97b53e25
--- /dev/null
+++ b/packages/playground/vue/src-import/a.vue
@@ -0,0 +1,3 @@
+
+
+
diff --git a/packages/playground/vue/src-import/b.vue b/packages/playground/vue/src-import/b.vue
new file mode 100644
index 00000000000000..42a231b4129837
--- /dev/null
+++ b/packages/playground/vue/src-import/b.vue
@@ -0,0 +1,3 @@
+
+
+
diff --git a/packages/playground/vue/src-import/script.ts b/packages/playground/vue/src-import/script.ts
index c7712fc4b755b6..540487e0e3b390 100644
--- a/packages/playground/vue/src-import/script.ts
+++ b/packages/playground/vue/src-import/script.ts
@@ -1,6 +1,11 @@
import { defineComponent } from 'vue'
+import A from './a.vue'
+import B from './b.vue'
export default defineComponent({
+ components: {
+ A, B
+ },
setup() {
return {
msg: 'hello from script src!'
diff --git a/packages/playground/vue/src-import/style2.css b/packages/playground/vue/src-import/style2.css
new file mode 100644
index 00000000000000..b5d3b5603cbe9d
--- /dev/null
+++ b/packages/playground/vue/src-import/style2.css
@@ -0,0 +1,3 @@
+.src-imports-script {
+ color: green;
+}
diff --git a/packages/playground/vue/src-import/template.html b/packages/playground/vue/src-import/template.html
index 305bbad0fbc2f6..8e909f78762bcd 100644
--- a/packages/playground/vue/src-import/template.html
+++ b/packages/playground/vue/src-import/template.html
@@ -1,3 +1,5 @@
SFC Src Imports
{{ msg }}
This should be tan
+
+
From a7b6efb2cd6b8d67a5c57dbf214196d4964f188a Mon Sep 17 00:00:00 2001
From: poyoho <907415276@qq.com>
Date: Wed, 8 Dec 2021 12:52:15 +0800
Subject: [PATCH 3/6] feat: use `SFCDescriptor.id` as the cache key to solve
the cache overwrite problem introduced by request with src
---
packages/playground/vue/src-import/a.vue | 3 ---
packages/playground/vue/src-import/b.vue | 3 ---
packages/playground/vue/src-import/script.ts | 4 ++--
.../playground/vue/src-import/srcImportStyle.vue | 7 +++++++
.../playground/vue/src-import/srcImportStyle2.vue | 4 ++++
packages/playground/vue/src-import/style2.css | 2 +-
packages/plugin-vue/src/index.ts | 7 +++++--
packages/plugin-vue/src/main.ts | 13 ++++++-------
packages/plugin-vue/src/utils/descriptorCache.ts | 15 ++++++++++++---
packages/plugin-vue/src/utils/query.ts | 5 +----
10 files changed, 38 insertions(+), 25 deletions(-)
delete mode 100644 packages/playground/vue/src-import/a.vue
delete mode 100644 packages/playground/vue/src-import/b.vue
create mode 100644 packages/playground/vue/src-import/srcImportStyle.vue
create mode 100644 packages/playground/vue/src-import/srcImportStyle2.vue
diff --git a/packages/playground/vue/src-import/a.vue b/packages/playground/vue/src-import/a.vue
deleted file mode 100644
index 3895ab97b53e25..00000000000000
--- a/packages/playground/vue/src-import/a.vue
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/packages/playground/vue/src-import/b.vue b/packages/playground/vue/src-import/b.vue
deleted file mode 100644
index 42a231b4129837..00000000000000
--- a/packages/playground/vue/src-import/b.vue
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/packages/playground/vue/src-import/script.ts b/packages/playground/vue/src-import/script.ts
index 540487e0e3b390..9e3395bb827ecb 100644
--- a/packages/playground/vue/src-import/script.ts
+++ b/packages/playground/vue/src-import/script.ts
@@ -1,6 +1,6 @@
import { defineComponent } from 'vue'
-import A from './a.vue'
-import B from './b.vue'
+import A from './srcImportStyle.vue'
+import B from './srcImportStyle2.vue'
export default defineComponent({
components: {
diff --git a/packages/playground/vue/src-import/srcImportStyle.vue b/packages/playground/vue/src-import/srcImportStyle.vue
new file mode 100644
index 00000000000000..549f3b53988159
--- /dev/null
+++ b/packages/playground/vue/src-import/srcImportStyle.vue
@@ -0,0 +1,7 @@
+
+
+{{ msg }}
+
+
diff --git a/packages/playground/vue/src-import/srcImportStyle2.vue b/packages/playground/vue/src-import/srcImportStyle2.vue
new file mode 100644
index 00000000000000..2a08fc0391a5e0
--- /dev/null
+++ b/packages/playground/vue/src-import/srcImportStyle2.vue
@@ -0,0 +1,4 @@
+
+
+This should be tan
+
diff --git a/packages/playground/vue/src-import/style2.css b/packages/playground/vue/src-import/style2.css
index b5d3b5603cbe9d..8c93cb983cc09d 100644
--- a/packages/playground/vue/src-import/style2.css
+++ b/packages/playground/vue/src-import/style2.css
@@ -1,3 +1,3 @@
.src-imports-script {
- color: green;
+ color: #0088ff;
}
diff --git a/packages/plugin-vue/src/index.ts b/packages/plugin-vue/src/index.ts
index 71ec6e7a4bef47..9862a9daaf9044 100644
--- a/packages/plugin-vue/src/index.ts
+++ b/packages/plugin-vue/src/index.ts
@@ -9,7 +9,7 @@ import {
} from '@vue/compiler-sfc'
import { compiler } from './compiler'
import { parseVueRequest } from './utils/query'
-import { getDescriptor } from './utils/descriptorCache'
+import { getDescriptor, getSrcDescriptor } from './utils/descriptorCache'
import { getResolvedScript } from './script'
import { transformMain } from './main'
import { handleHotUpdate } from './handleHotUpdate'
@@ -223,7 +223,10 @@ export default function vuePlugin(rawOptions: Options = {}): Plugin {
)
} else {
// sub block request
- const descriptor = getDescriptor(filename, options)!
+ const descriptor = query.src
+ ? getSrcDescriptor(filename, query)!
+ : getDescriptor(filename, options)!
+
if (query.type === 'template') {
return transformTemplateAsModule(code, descriptor, options, this, ssr)
} else if (query.type === 'style') {
diff --git a/packages/plugin-vue/src/main.ts b/packages/plugin-vue/src/main.ts
index 6ab6e2fa3dbb3f..9df5ba44da9043 100644
--- a/packages/plugin-vue/src/main.ts
+++ b/packages/plugin-vue/src/main.ts
@@ -6,7 +6,7 @@ import { ResolvedOptions } from '.'
import {
createDescriptor,
getPrevDescriptor,
- setDescriptor
+ setSrcDescriptor
} from './utils/descriptorCache'
import { PluginContext, SourceMap, TransformPluginContext } from 'rollup'
import { normalizePath } from '@rollup/pluginutils'
@@ -237,7 +237,7 @@ async function genTemplateCode(
await linkSrcToDescriptor(template.src, descriptor, pluginContext)
}
const src = template.src || descriptor.filename
- const srcQuery = template.src ? `&src` : ``
+ const srcQuery = template.src ? `&src=${descriptor.id}` : ``
const attrsQuery = attrsToQuery(template.attrs, 'js', true)
const query = `?vue&type=template${srcQuery}${attrsQuery}`
const request = JSON.stringify(src + query)
@@ -279,7 +279,7 @@ async function genScriptCode(
const src = script.src || descriptor.filename
const langFallback = (script.src && path.extname(src).slice(1)) || 'js'
const attrsQuery = attrsToQuery(script.attrs, langFallback)
- const srcQuery = script.src ? `&src` : ``
+ const srcQuery = script.src ? `&src=${descriptor.id}` : ``
const query = `?vue&type=script${srcQuery}${attrsQuery}`
const request = JSON.stringify(src + query)
scriptCode =
@@ -310,10 +310,9 @@ async function genStyleCode(
// do not include module in default query, since we use it to indicate
// that the module needs to export the modules json
const attrsQuery = attrsToQuery(style.attrs, 'css')
- const srcQuery = style.src ? `&src` : ``
+ const srcQuery = style.src ? `&src=${descriptor.id}` : ``
const directQuery = asCustomElement ? `&inline` : ``
- const index = style.src ? 0 : i
- const query = `?vue&type=style&index=${index}${srcQuery}${directQuery}`
+ const query = `?vue&type=style&index=${i}${srcQuery}${directQuery}`
const styleRequest = src + query + attrsQuery
if (style.module) {
if (asCustomElement) {
@@ -398,7 +397,7 @@ async function linkSrcToDescriptor(
(await pluginContext.resolve(src, descriptor.filename))?.id || src
// #1812 if the src points to a dep file, the resolved id may contain a
// version query.
- setDescriptor(srcFile.replace(/\?.*$/, ''), descriptor)
+ setSrcDescriptor(srcFile.replace(/\?.*$/, ''), descriptor)
}
// these are built-in query parameters so should be ignored
diff --git a/packages/plugin-vue/src/utils/descriptorCache.ts b/packages/plugin-vue/src/utils/descriptorCache.ts
index dde91e21d077e5..53ea00e83c9260 100644
--- a/packages/plugin-vue/src/utils/descriptorCache.ts
+++ b/packages/plugin-vue/src/utils/descriptorCache.ts
@@ -3,7 +3,7 @@ import path from 'path'
import slash from 'slash'
import hash from 'hash-sum'
import { CompilerError, SFCDescriptor } from '@vue/compiler-sfc'
-import { ResolvedOptions } from '..'
+import { ResolvedOptions, VueQuery } from '..'
import { compiler } from '../compiler'
// node_modules/@vue/compiler-sfc/dist/compiler-sfc.d.ts SFCParseResult should be exported so it can be re-used
@@ -66,6 +66,15 @@ export function getDescriptor(
}
}
-export function setDescriptor(filename: string, entry: SFCDescriptor): void {
- cache.set(filename, entry)
+export function getSrcDescriptor(
+ filename: string,
+ query: VueQuery,
+): SFCDescriptor {
+ return cache.get(`${filename}?src=${query.src}`)!
+}
+
+export function setSrcDescriptor(filename: string, entry: SFCDescriptor): void {
+ // if multiple Vue files use the same src file, they will be overwritten
+ // should use other key
+ cache.set(`${filename}?src=${entry.id}`, entry)
}
diff --git a/packages/plugin-vue/src/utils/query.ts b/packages/plugin-vue/src/utils/query.ts
index bd99ab6fa8bb55..d41cb1be2cf536 100644
--- a/packages/plugin-vue/src/utils/query.ts
+++ b/packages/plugin-vue/src/utils/query.ts
@@ -2,7 +2,7 @@ import qs from 'querystring'
export interface VueQuery {
vue?: boolean
- src?: boolean
+ src?: string
type?: 'script' | 'template' | 'style' | 'custom'
index?: number
lang?: string
@@ -18,9 +18,6 @@ export function parseVueRequest(id: string): {
if (query.vue != null) {
query.vue = true
}
- if (query.src != null) {
- query.src = true
- }
if (query.index != null) {
query.index = Number(query.index)
}
From db02f8acae0ecb083f50591f38207a1a03e1fc0a Mon Sep 17 00:00:00 2001
From: poyoho <907415276@qq.com>
Date: Wed, 8 Dec 2021 12:52:31 +0800
Subject: [PATCH 4/6] fix: use `SFCDescriptor.id` as the cache key to solve the
cache overwrite problem introduced by request with src
---
packages/playground/vue/src-import/a.vue | 3 ---
packages/playground/vue/src-import/b.vue | 3 ---
packages/playground/vue/src-import/script.ts | 4 ++--
.../playground/vue/src-import/srcImportStyle.vue | 7 +++++++
.../playground/vue/src-import/srcImportStyle2.vue | 4 ++++
packages/playground/vue/src-import/style2.css | 2 +-
packages/plugin-vue/src/index.ts | 7 +++++--
packages/plugin-vue/src/main.ts | 13 ++++++-------
packages/plugin-vue/src/utils/descriptorCache.ts | 15 ++++++++++++---
packages/plugin-vue/src/utils/query.ts | 5 +----
10 files changed, 38 insertions(+), 25 deletions(-)
delete mode 100644 packages/playground/vue/src-import/a.vue
delete mode 100644 packages/playground/vue/src-import/b.vue
create mode 100644 packages/playground/vue/src-import/srcImportStyle.vue
create mode 100644 packages/playground/vue/src-import/srcImportStyle2.vue
diff --git a/packages/playground/vue/src-import/a.vue b/packages/playground/vue/src-import/a.vue
deleted file mode 100644
index 3895ab97b53e25..00000000000000
--- a/packages/playground/vue/src-import/a.vue
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/packages/playground/vue/src-import/b.vue b/packages/playground/vue/src-import/b.vue
deleted file mode 100644
index 42a231b4129837..00000000000000
--- a/packages/playground/vue/src-import/b.vue
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/packages/playground/vue/src-import/script.ts b/packages/playground/vue/src-import/script.ts
index 540487e0e3b390..9e3395bb827ecb 100644
--- a/packages/playground/vue/src-import/script.ts
+++ b/packages/playground/vue/src-import/script.ts
@@ -1,6 +1,6 @@
import { defineComponent } from 'vue'
-import A from './a.vue'
-import B from './b.vue'
+import A from './srcImportStyle.vue'
+import B from './srcImportStyle2.vue'
export default defineComponent({
components: {
diff --git a/packages/playground/vue/src-import/srcImportStyle.vue b/packages/playground/vue/src-import/srcImportStyle.vue
new file mode 100644
index 00000000000000..549f3b53988159
--- /dev/null
+++ b/packages/playground/vue/src-import/srcImportStyle.vue
@@ -0,0 +1,7 @@
+
+
+{{ msg }}
+
+
diff --git a/packages/playground/vue/src-import/srcImportStyle2.vue b/packages/playground/vue/src-import/srcImportStyle2.vue
new file mode 100644
index 00000000000000..2a08fc0391a5e0
--- /dev/null
+++ b/packages/playground/vue/src-import/srcImportStyle2.vue
@@ -0,0 +1,4 @@
+
+
+This should be tan
+
diff --git a/packages/playground/vue/src-import/style2.css b/packages/playground/vue/src-import/style2.css
index b5d3b5603cbe9d..8c93cb983cc09d 100644
--- a/packages/playground/vue/src-import/style2.css
+++ b/packages/playground/vue/src-import/style2.css
@@ -1,3 +1,3 @@
.src-imports-script {
- color: green;
+ color: #0088ff;
}
diff --git a/packages/plugin-vue/src/index.ts b/packages/plugin-vue/src/index.ts
index 71ec6e7a4bef47..9862a9daaf9044 100644
--- a/packages/plugin-vue/src/index.ts
+++ b/packages/plugin-vue/src/index.ts
@@ -9,7 +9,7 @@ import {
} from '@vue/compiler-sfc'
import { compiler } from './compiler'
import { parseVueRequest } from './utils/query'
-import { getDescriptor } from './utils/descriptorCache'
+import { getDescriptor, getSrcDescriptor } from './utils/descriptorCache'
import { getResolvedScript } from './script'
import { transformMain } from './main'
import { handleHotUpdate } from './handleHotUpdate'
@@ -223,7 +223,10 @@ export default function vuePlugin(rawOptions: Options = {}): Plugin {
)
} else {
// sub block request
- const descriptor = getDescriptor(filename, options)!
+ const descriptor = query.src
+ ? getSrcDescriptor(filename, query)!
+ : getDescriptor(filename, options)!
+
if (query.type === 'template') {
return transformTemplateAsModule(code, descriptor, options, this, ssr)
} else if (query.type === 'style') {
diff --git a/packages/plugin-vue/src/main.ts b/packages/plugin-vue/src/main.ts
index 6ab6e2fa3dbb3f..9df5ba44da9043 100644
--- a/packages/plugin-vue/src/main.ts
+++ b/packages/plugin-vue/src/main.ts
@@ -6,7 +6,7 @@ import { ResolvedOptions } from '.'
import {
createDescriptor,
getPrevDescriptor,
- setDescriptor
+ setSrcDescriptor
} from './utils/descriptorCache'
import { PluginContext, SourceMap, TransformPluginContext } from 'rollup'
import { normalizePath } from '@rollup/pluginutils'
@@ -237,7 +237,7 @@ async function genTemplateCode(
await linkSrcToDescriptor(template.src, descriptor, pluginContext)
}
const src = template.src || descriptor.filename
- const srcQuery = template.src ? `&src` : ``
+ const srcQuery = template.src ? `&src=${descriptor.id}` : ``
const attrsQuery = attrsToQuery(template.attrs, 'js', true)
const query = `?vue&type=template${srcQuery}${attrsQuery}`
const request = JSON.stringify(src + query)
@@ -279,7 +279,7 @@ async function genScriptCode(
const src = script.src || descriptor.filename
const langFallback = (script.src && path.extname(src).slice(1)) || 'js'
const attrsQuery = attrsToQuery(script.attrs, langFallback)
- const srcQuery = script.src ? `&src` : ``
+ const srcQuery = script.src ? `&src=${descriptor.id}` : ``
const query = `?vue&type=script${srcQuery}${attrsQuery}`
const request = JSON.stringify(src + query)
scriptCode =
@@ -310,10 +310,9 @@ async function genStyleCode(
// do not include module in default query, since we use it to indicate
// that the module needs to export the modules json
const attrsQuery = attrsToQuery(style.attrs, 'css')
- const srcQuery = style.src ? `&src` : ``
+ const srcQuery = style.src ? `&src=${descriptor.id}` : ``
const directQuery = asCustomElement ? `&inline` : ``
- const index = style.src ? 0 : i
- const query = `?vue&type=style&index=${index}${srcQuery}${directQuery}`
+ const query = `?vue&type=style&index=${i}${srcQuery}${directQuery}`
const styleRequest = src + query + attrsQuery
if (style.module) {
if (asCustomElement) {
@@ -398,7 +397,7 @@ async function linkSrcToDescriptor(
(await pluginContext.resolve(src, descriptor.filename))?.id || src
// #1812 if the src points to a dep file, the resolved id may contain a
// version query.
- setDescriptor(srcFile.replace(/\?.*$/, ''), descriptor)
+ setSrcDescriptor(srcFile.replace(/\?.*$/, ''), descriptor)
}
// these are built-in query parameters so should be ignored
diff --git a/packages/plugin-vue/src/utils/descriptorCache.ts b/packages/plugin-vue/src/utils/descriptorCache.ts
index dde91e21d077e5..53ea00e83c9260 100644
--- a/packages/plugin-vue/src/utils/descriptorCache.ts
+++ b/packages/plugin-vue/src/utils/descriptorCache.ts
@@ -3,7 +3,7 @@ import path from 'path'
import slash from 'slash'
import hash from 'hash-sum'
import { CompilerError, SFCDescriptor } from '@vue/compiler-sfc'
-import { ResolvedOptions } from '..'
+import { ResolvedOptions, VueQuery } from '..'
import { compiler } from '../compiler'
// node_modules/@vue/compiler-sfc/dist/compiler-sfc.d.ts SFCParseResult should be exported so it can be re-used
@@ -66,6 +66,15 @@ export function getDescriptor(
}
}
-export function setDescriptor(filename: string, entry: SFCDescriptor): void {
- cache.set(filename, entry)
+export function getSrcDescriptor(
+ filename: string,
+ query: VueQuery,
+): SFCDescriptor {
+ return cache.get(`${filename}?src=${query.src}`)!
+}
+
+export function setSrcDescriptor(filename: string, entry: SFCDescriptor): void {
+ // if multiple Vue files use the same src file, they will be overwritten
+ // should use other key
+ cache.set(`${filename}?src=${entry.id}`, entry)
}
diff --git a/packages/plugin-vue/src/utils/query.ts b/packages/plugin-vue/src/utils/query.ts
index bd99ab6fa8bb55..d41cb1be2cf536 100644
--- a/packages/plugin-vue/src/utils/query.ts
+++ b/packages/plugin-vue/src/utils/query.ts
@@ -2,7 +2,7 @@ import qs from 'querystring'
export interface VueQuery {
vue?: boolean
- src?: boolean
+ src?: string
type?: 'script' | 'template' | 'style' | 'custom'
index?: number
lang?: string
@@ -18,9 +18,6 @@ export function parseVueRequest(id: string): {
if (query.vue != null) {
query.vue = true
}
- if (query.src != null) {
- query.src = true
- }
if (query.index != null) {
query.index = Number(query.index)
}
From b6c5d69e1f85eb287b6ddb6930fffeeb240fad07 Mon Sep 17 00:00:00 2001
From: poyoho <907415276@qq.com>
Date: Wed, 8 Dec 2021 13:37:41 +0800
Subject: [PATCH 5/6] style: prettier format
---
packages/playground/vue/src-import/script.ts | 3 ++-
packages/playground/vue/src-import/srcImportStyle.vue | 2 +-
packages/playground/vue/src-import/srcImportStyle2.vue | 2 +-
packages/playground/vue/src-import/template.html | 4 ++--
packages/plugin-vue/src/utils/descriptorCache.ts | 2 +-
5 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/packages/playground/vue/src-import/script.ts b/packages/playground/vue/src-import/script.ts
index 9e3395bb827ecb..3138fb9b3d2dd1 100644
--- a/packages/playground/vue/src-import/script.ts
+++ b/packages/playground/vue/src-import/script.ts
@@ -4,7 +4,8 @@ import B from './srcImportStyle2.vue'
export default defineComponent({
components: {
- A, B
+ A,
+ B
},
setup() {
return {
diff --git a/packages/playground/vue/src-import/srcImportStyle.vue b/packages/playground/vue/src-import/srcImportStyle.vue
index 549f3b53988159..de91769858fe93 100644
--- a/packages/playground/vue/src-import/srcImportStyle.vue
+++ b/packages/playground/vue/src-import/srcImportStyle.vue
@@ -1,6 +1,6 @@
-{{ msg }}
+ {{ msg }}