@lark-apaas/fullstack-vite-preset 1.0.9-alpha.52 → 1.0.9-alpha.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preconnect-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugins/preconnect-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAqB,MAAM,MAAM,CAAC;AAEtD,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,iBAAiB,CAAC;IACxD;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AA0BD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"preconnect-plugin.d.ts","sourceRoot":"","sources":["../../src/vite-plugins/preconnect-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAqB,MAAM,MAAM,CAAC;AAEtD,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,iBAAiB,CAAC;IACxD;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AA0BD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAgCzE;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -39,32 +39,24 @@ function preconnectPlugin(options) {
|
|
|
39
39
|
const withDnsPrefetch = options.dnsPrefetchFallback === true;
|
|
40
40
|
return {
|
|
41
41
|
name: 'fullstack-preconnect',
|
|
42
|
+
// 使用 enforce: 'post' 保证在所有其他 HTML 插件(如 vite:build-html)之后执行
|
|
43
|
+
// 再通过 order: 'pre' 将标签排在数组最前面,或者手动操作 HTML 字符串
|
|
42
44
|
transformIndexHtml: {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
handler() {
|
|
45
|
+
order: 'post',
|
|
46
|
+
handler(html) {
|
|
46
47
|
if (origins.length === 0)
|
|
47
|
-
return
|
|
48
|
-
|
|
48
|
+
return html;
|
|
49
|
+
let injectedTags = '';
|
|
49
50
|
for (const href of origins) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
attrs: {
|
|
53
|
-
rel: 'preconnect',
|
|
54
|
-
href,
|
|
55
|
-
...(crossOriginAttr ? { crossorigin: crossOriginAttr } : {}),
|
|
56
|
-
},
|
|
57
|
-
injectTo: 'head-prepend',
|
|
58
|
-
});
|
|
51
|
+
const crossOriginStr = crossOriginAttr ? ` crossorigin="${crossOriginAttr}"` : '';
|
|
52
|
+
injectedTags += `\n <link rel="preconnect" href="${href}"${crossOriginStr}>`;
|
|
59
53
|
if (withDnsPrefetch) {
|
|
60
|
-
|
|
61
|
-
tag: 'link',
|
|
62
|
-
attrs: { rel: 'dns-prefetch', href },
|
|
63
|
-
injectTo: 'head-prepend',
|
|
64
|
-
});
|
|
54
|
+
injectedTags += `\n <link rel="dns-prefetch" href="${href}">`;
|
|
65
55
|
}
|
|
66
56
|
}
|
|
67
|
-
|
|
57
|
+
// 强行用正则替换,在 <head> 标签之后的最前面插入 preconnect
|
|
58
|
+
// 这样可以越过 Vite 自动注入的 modulepreload 和 stylesheet 标签
|
|
59
|
+
return html.replace(/<head([^>]*)>/i, (match) => `${match}${injectedTags}`);
|
|
68
60
|
},
|
|
69
61
|
},
|
|
70
62
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preconnect-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/preconnect-plugin.ts"],"names":[],"mappings":";;AAsDA,
|
|
1
|
+
{"version":3,"file":"preconnect-plugin.js","sourceRoot":"","sources":["../../src/vite-plugins/preconnect-plugin.ts"],"names":[],"mappings":";;AAsDA,4CAgCC;AA/DD,SAAS,gBAAgB,CAAC,KAAe;IACvC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ;gBAAE,SAAS;YACpE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,WAAW;QACb,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAA6C;IAE7C,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IACtC,IAAI,KAAK,KAAK,iBAAiB;QAAE,OAAO,iBAAiB,CAAC;IAC1D,iCAAiC;IACjC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,OAAgC;IAC/D,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,sBAAsB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACpE,MAAM,eAAe,GAAG,OAAO,CAAC,mBAAmB,KAAK,IAAI,CAAC;IAE7D,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,4DAA4D;QAC5D,8CAA8C;QAC9C,kBAAkB,EAAE;YAClB,KAAK,EAAE,MAAM;YACb,OAAO,CAAC,IAAI;gBACV,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAEtC,IAAI,YAAY,GAAG,EAAE,CAAC;gBACtB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;oBAC3B,MAAM,cAAc,GAAG,eAAe,CAAC,CAAC,CAAC,iBAAiB,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClF,YAAY,IAAI,sCAAsC,IAAI,IAAI,cAAc,GAAG,CAAC;oBAChF,IAAI,eAAe,EAAE,CAAC;wBACpB,YAAY,IAAI,wCAAwC,IAAI,IAAI,CAAC;oBACnE,CAAC;gBACH,CAAC;gBAED,yCAAyC;gBACzC,kDAAkD;gBAClD,OAAO,IAAI,CAAC,OAAO,CACjB,gBAAgB,EAChB,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,EAAE,CACrC,CAAC;YACJ,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AAED,kBAAe,gBAAgB,CAAC"}
|