国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

在使用 Vite 建置的 React 元件庫中拆分或註入樣式
P粉464113078
P粉464113078 2024-01-10 17:00:11
0
1
687

我目前正在重寫元件庫的建置步驟以使用 Vite。我遇到了有關(guān)樣式的問題,它們沒有被拆分,而是捆綁到一個大的 style.css 檔案中。這給我?guī)砹藘蓚€問題:

  • 當(dāng)我將軟體包安裝到另一個專案時,它不會自動包含在內(nèi)。如果我導(dǎo)入一個元件,style.css 不會神奇地導(dǎo)入。
  • 我正在匯入我實際未使用的元件的樣式。

在我之前的設(shè)定中,我進(jìn)行了樣式註入,這意味著 CSS 被注入到元件中,因此被拆分。我可以用 Vite 實現(xiàn)類似的功能嗎?

我目前的建置設(shè)定是這樣的:

import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import dts from "vite-plugin-dts";

export default defineConfig({
  plugins: [react(), dts()],
  resolve: {
    alias: {
      "@": "/src"
    }
  },
  build: {
    outDir: "dist",
    lib: {
      entry: "src/index.ts",
      name: "lib",
      fileName: format => `lib.${format}.js`
    },
    rollupOptions: {
      external: ["react", "react-dom"],
      output: {
        globals: {
          react: "React",
          "react-dom": "ReactDOM"
        }
      }
    },
    sourcemap: true
  },
  css: {
    modules: {
      generateScopedName: "[name]__[local]___[hash:base64:5]"
    }
  }
});

最終的 dist 資料夾如下所示(我排除了所有 .d.ts 檔案):

正如你所看到的,有一個很大的style.css,這不是我要找的。

有辦法解決這個問題嗎?

P粉464113078
P粉464113078

全部回覆(1)
P粉007288593

如果您還沒有解決問題,我能找到的最簡單的方法是將插件vite-plugin-css-injected-by-js 添加到Vite,以內(nèi)部化生成的CSS到JS文件中。

https://www.npmjs.com/package /vite-plugin-css-injected-by-js

然後您可以將您的 vite 設(shè)定檔變更為:

import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import dts from "vite-plugin-dts";
// added the import for inject css automatically...
import cssInjectedByJsPlugin from 'vite-plugin-css-injected-by-js'

export default defineConfig({
  plugins: [
    react(), 
    dts(),
    cssInjectedByJsPlugin(),
  ],
  // ... rest of your vite configuration
});
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板