带@emption/react 的 npm 包和 vite 不能按预期工作

npm package with @emption/react with vite not working as expected

发布 npm 包后,依赖项 @emotion/react 出错。我已经使用 vite 进行包装。

将包安装到另一个项目后,css 属性 显示为 - css="[object Object]。但是它应该转换成 HTML.

class 属性

vite.config.ts

export default defineConfig({
  plugins: [
     react({
        jsxRuntime: 'classic',
        jsxImportSource: '@emotion/react',
        babel: {
          plugins: ['@emotion/babel-plugin'],
        },
      }),
    ]
});

安装库并用于反应项目后,它显示为 -

<div css="[object Object]">
  <div role="button" css="[object Object]" tabindex="-1">
  </div>
</div>;

但是css属性应该是class属性。

那么,如何使用@emotion/reactvite的react库项目呢?

找到问题了。我将 jsxRuntimeclassic 更改为 automatic 解决了这个问题。 所以配置是-

export default defineConfig({
  plugins: [
     react({
        jsxRuntime: 'automatic', // <---
        jsxImportSource: '@emotion/react',
        babel: {
          plugins: ['@emotion/babel-plugin'],
        },
      }),
    ]
});