Skip to content

Commit d986aa0

Browse files
committed
feat: remove code to base64 for performance issue
1 parent 50e44f1 commit d986aa0

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

packages/canvas/init-canvas/init-canvas.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,21 @@ import canvasScript from './canvas?url&build=canvas'
22
import canvasHtml from './canvas.html?raw'
33

44
export function initCanvas(importMap = {}, importStyleUrls = []) {
5-
return {
5+
const res = {
66
html: canvasHtml
77
.replace('<!--%IMPORT_MAP%-->', `<script type="importmap">${JSON.stringify(importMap, null, 2)}</script>`)
88
.replace(
99
'<!--%IMPORT_STYLE%-->',
1010
importStyleUrls.map((styleUrl) => `<link rel="stylesheet" crossorigin="" href="${styleUrl}">`).join('\n')
1111
)
12-
.replace('<!--%MAIN_SCRIPT%-->', `<script type="module" src="${canvasScript}"></script>`)
12+
.replace(
13+
'<!--%MAIN_SCRIPT%-->',
14+
import.meta.env.MODE === 'development'
15+
? `<script type="module" src="${canvasScript}"></script>`
16+
: // 将 $ 替换为 $$,然后在上一层的 $$ 再转义回来 $,避免被转义
17+
`<script type="module">${canvasScript.replace(/\$/g, '$$$$')}</script>`
18+
)
1319
}
20+
21+
return res
1422
}

packages/canvas/scripts/vite-plugin-separate-build.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const queryRE = /[?#].*$/
55

66
const bundleCache = new WeakMap()
77

8-
function cleanUrl(url) {
8+
function cleanUrl(url: string) {
99
return url.replace(queryRE, '')
1010
}
1111
function saveEmitBundleAssets(config, asset) {
@@ -88,10 +88,8 @@ export async function vitePluginBuildEntry(customBuildConfig) {
8888
buildConfig: match.groups.name,
8989
entries: [file]
9090
})
91-
const formatBase64 = (code) => {
92-
return 'data:text/javascript;base64,' + Buffer.from(code).toString('base64')
93-
}
94-
return `export default ${JSON.stringify(formatBase64(code))}\n`
91+
92+
return `export default ${JSON.stringify(code)}`
9593
},
9694
generateBundle(opts, bundle) {
9795
if (opts.__vite_skip_assets_emit__) {

0 commit comments

Comments
 (0)