From b423a3cfaaf4d2e76539e528bca7edf3a2c1c0b2 Mon Sep 17 00:00:00 2001 From: YunYouJun Date: Thu, 30 Sep 2021 01:43:31 +0800 Subject: [PATCH 1/2] fix: fix element-plus build when ssr --- src/core/resolvers/element-plus.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/core/resolvers/element-plus.ts b/src/core/resolvers/element-plus.ts index 57c1c678..fb047573 100644 --- a/src/core/resolvers/element-plus.ts +++ b/src/core/resolvers/element-plus.ts @@ -49,12 +49,14 @@ function getSideEffectsLegacy( function getSideEffects(dirName: string, options: ElementPlusResolverOptions): SideEffectsInfo | undefined { const { importStyle = 'css' } = options + const themeFolder = 'element-plus/theme-chalk' + const esComponentsFolder = 'element-plus/es/components' if (importStyle === 'sass') - return `element-plus/es/components/${dirName}/style` + return import.meta.env.SSR ? `${themeFolder}/src/${dirName}.scss` : `${esComponentsFolder}/${dirName}/style` else if (importStyle === true || importStyle === 'css') - return `element-plus/es/components/${dirName}/style/css` + return import.meta.env.SSR ? `${themeFolder}/el-${dirName}.css` : `${esComponentsFolder}/${dirName}/style/css` } /** @@ -81,7 +83,7 @@ export function ElementPlusResolver( if (compareVersions.compare(version, '1.1.0-beta.1', '>=')) { return { importName: name, - path: 'element-plus/es', + path: `element-plus/${import.meta.env.SSR ? 'lib' : 'es'}`, sideEffects: getSideEffects(partialName, options), } } From 890bd874782131586539d4a513ff38b734df1763 Mon Sep 17 00:00:00 2001 From: YunYouJun Date: Thu, 30 Sep 2021 02:09:26 +0800 Subject: [PATCH 2/2] refactor: use ssr as options --- src/core/resolvers/element-plus.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/core/resolvers/element-plus.ts b/src/core/resolvers/element-plus.ts index fb047573..8cb11aa8 100644 --- a/src/core/resolvers/element-plus.ts +++ b/src/core/resolvers/element-plus.ts @@ -10,6 +10,11 @@ export interface ElementPlusResolverOptions { */ importStyle?: boolean | 'css' | 'sass' + /** + * use commonjs lib & source css or scss for ssr + */ + ssr?: boolean + /** * specify element-plus version to load style * @@ -48,15 +53,15 @@ function getSideEffectsLegacy( } function getSideEffects(dirName: string, options: ElementPlusResolverOptions): SideEffectsInfo | undefined { - const { importStyle = 'css' } = options + const { importStyle = 'css', ssr } = options const themeFolder = 'element-plus/theme-chalk' const esComponentsFolder = 'element-plus/es/components' if (importStyle === 'sass') - return import.meta.env.SSR ? `${themeFolder}/src/${dirName}.scss` : `${esComponentsFolder}/${dirName}/style` + return ssr ? `${themeFolder}/src/${dirName}.scss` : `${esComponentsFolder}/${dirName}/style` else if (importStyle === true || importStyle === 'css') - return import.meta.env.SSR ? `${themeFolder}/el-${dirName}.css` : `${esComponentsFolder}/${dirName}/style/css` + return ssr ? `${themeFolder}/el-${dirName}.css` : `${esComponentsFolder}/${dirName}/style/css` } /** @@ -75,6 +80,7 @@ export function ElementPlusResolver( return (name: string) => { if (name.match(/^El[A-Z]/)) { const { + ssr, version = getPkgVersion('element-plus', '1.0.2'), } = options const partialName = kebabCase(name.slice(2))// ElTableColumn->table-column @@ -83,7 +89,7 @@ export function ElementPlusResolver( if (compareVersions.compare(version, '1.1.0-beta.1', '>=')) { return { importName: name, - path: `element-plus/${import.meta.env.SSR ? 'lib' : 'es'}`, + path: `element-plus/${ssr ? 'lib' : 'es'}`, sideEffects: getSideEffects(partialName, options), } } pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy