styled-components / styled-components

Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress 💅
https://styled-components.com
MIT License
40.12k stars 2.48k forks source link

TypeError: __vite_ssr_import_5__.default.div is not a function [fixed] #4275

Open leo1104 opened 2 months ago

leo1104 commented 2 months ago

I was getting this weird issue when using React + Vite + Styled-Components + SSR + SWC with @swc/plugin-styled-components

This is how my vite config file looks like:

import { defineConfig, splitVendorChunkPlugin } from 'vite';
import react from '@vitejs/plugin-react-swc';
import { nodePolyfills } from 'vite-plugin-node-polyfills';

// https://vitejs.dev/config/
export default defineConfig({
    esbuild: {
        drop: ['console', 'debugger']
    },
    plugins: [
        react({
            plugins: [['@swc/plugin-styled-components', {
                displayName: true,
                fileName: true,
                ssr: true,
            }]]
        }),
        nodePolyfills(),
        splitVendorChunkPlugin()
    ],
});

Solved this by changing the import statement to: import {styled} from styled-components;