diff --git a/src/core/resolvers/element-plus.ts b/src/core/resolvers/element-plus.ts index 57c1c678..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,13 +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 `element-plus/es/components/${dirName}/style` + return ssr ? `${themeFolder}/src/${dirName}.scss` : `${esComponentsFolder}/${dirName}/style` else if (importStyle === true || importStyle === 'css') - return `element-plus/es/components/${dirName}/style/css` + return ssr ? `${themeFolder}/el-${dirName}.css` : `${esComponentsFolder}/${dirName}/style/css` } /** @@ -73,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 @@ -81,7 +89,7 @@ export function ElementPlusResolver( if (compareVersions.compare(version, '1.1.0-beta.1', '>=')) { return { importName: name, - path: 'element-plus/es', + path: `element-plus/${ssr ? 'lib' : 'es'}`, sideEffects: getSideEffects(partialName, options), } }
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: