Browse Source

feat: inject CSS into JS bundle to auto-load component styles

hechang27-sprt 6 months ago
parent
commit
9089dfc477
  1. 13
      package-lock.json
  2. 1
      package.json
  3. 3
      vite.config.ts

13
package-lock.json generated

@ -36,6 +36,7 @@ @@ -36,6 +36,7 @@
"terser": "^5.44.1",
"typescript": "~5.9.3",
"vite": "^7.3.0",
"vite-plugin-css-injected-by-js": "^3.5.2",
"vite-plugin-dts": "^4.5.4"
}
},
@ -8930,7 +8931,6 @@ @@ -8930,7 +8931,6 @@
"version": "4.0.3",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=12"
},
@ -10012,6 +10012,7 @@ @@ -10012,6 +10012,7 @@
"version": "4.54.0",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@types/estree": "1.0.8"
},
@ -11332,6 +11333,16 @@ @@ -11332,6 +11333,16 @@
}
}
},
"node_modules/vite-plugin-css-injected-by-js": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/vite-plugin-css-injected-by-js/-/vite-plugin-css-injected-by-js-3.5.2.tgz",
"integrity": "sha512-2MpU/Y+SCZyWUB6ua3HbJCrgnF0KACAsmzOQt1UvRVJCGF6S8xdA3ZUhWcWdM9ivG4I5az8PnQmwwrkC2CAQrQ==",
"dev": true,
"license": "MIT",
"peerDependencies": {
"vite": ">2.0.0-0"
}
},
"node_modules/vite-plugin-dts": {
"version": "4.5.4",
"dev": true,

1
package.json

@ -113,6 +113,7 @@ @@ -113,6 +113,7 @@
"terser": "^5.44.1",
"typescript": "~5.9.3",
"vite": "^7.3.0",
"vite-plugin-css-injected-by-js": "^3.5.2",
"vite-plugin-dts": "^4.5.4"
},
"eslintConfig": {

3
vite.config.ts

@ -2,6 +2,7 @@ import { defineConfig } from "vite"; @@ -2,6 +2,7 @@ import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import legacy from "@vitejs/plugin-legacy";
import dts from "vite-plugin-dts";
import cssInjectedByJsPlugin from "vite-plugin-css-injected-by-js";
import { resolve } from "path";
export default defineConfig(({ command, mode }) => {
@ -14,6 +15,8 @@ export default defineConfig(({ command, mode }) => { @@ -14,6 +15,8 @@ export default defineConfig(({ command, mode }) => {
},
plugins: [
vue(),
// Inject CSS into JS for library builds
isLibBuild && cssInjectedByJsPlugin(),
// Only use legacy plugin for app builds, not library builds
!isLibBuild &&
legacy({

Loading…
Cancel
Save