1010 *
1111 */
1212
13- import { useEnv } from '@opentiny/tiny-engine-meta-register'
13+ import { useEnv , getMergeMeta } from '@opentiny/tiny-engine-meta-register'
1414import { importMapConfig as importMapJSON } from '@opentiny/tiny-engine-common/js/importMap'
1515
1616const importMap = { }
1717const opentinyVueVersion = '~3.20'
1818
19- function replacePlaceholder ( v ) {
19+ function replacePlaceholder ( v , k ) {
2020 const {
2121 VITE_CDN_TYPE ,
2222 VITE_CDN_DOMAIN ,
@@ -28,6 +28,14 @@ function replacePlaceholder(v) {
2828 const versionDelimiter = VITE_CDN_TYPE === 'npmmirror' && ! isLocalBundle ? '/' : '@'
2929 const fileDelimiter = VITE_CDN_TYPE === 'npmmirror' && ! isLocalBundle ? '/files' : ''
3030 const cdnDomain = isLocalBundle ? BASE_URL + VITE_LOCAL_IMPORT_PATH : VITE_CDN_DOMAIN
31+ const customImportMap = getMergeMeta ( 'engine.config' ) ?. importMap
32+
33+ if ( customImportMap ?. imports ?. [ k ] ) {
34+ return customImportMap . imports [ k ]
35+ . replace ( '${VITE_CDN_DOMAIN}' , cdnDomain )
36+ . replace ( '${versionDelimiter}' , versionDelimiter )
37+ . replace ( '${fileDelimiter}' , fileDelimiter )
38+ }
3139
3240 return v
3341 . replace ( '${VITE_CDN_DOMAIN}' , cdnDomain )
@@ -38,7 +46,7 @@ function replacePlaceholder(v) {
3846
3947export const getImportMap = ( scripts = { } ) => {
4048 importMap . imports = {
41- ...Object . fromEntries ( Object . entries ( importMapJSON . imports ) . map ( ( [ k , v ] ) => [ k , replacePlaceholder ( v ) ] ) ) ,
49+ ...Object . fromEntries ( Object . entries ( importMapJSON . imports ) . map ( ( [ k , v ] ) => [ k , replacePlaceholder ( v , k ) ] ) ) ,
4250 ...scripts
4351 }
4452
0 commit comments