New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

github.com/zhangfisher/vite-plugin-vue-style-bundler

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/zhangfisher/vite-plugin-vue-style-bundler

  • v1.0.3
  • Source
  • Go
  • Socket score

Version published
Created
Source

vite-plugin-vue-style-bundler

中文 | 英文

When developing Vue components, the compiled products consist of js and css, and both js and css need to be imported when importing the component.

vite-plugin-vue-style-bundler can automatically extract the css styles in Vue components and bundle them into the js source code, and then automatically insert the style into the head at runtime. After being processed by vite-plugin-vue-style-bundler, you only need to import js when importing components.

Install

npm install vite-plugin-vue-style-bundler
// or
pnpm add vite-plugin-vue-style-bundler
// or 
yarn add vite-plugin-vue-style-bundler

Usage

  • Step 1:Install Plugin
// vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue' 
import StyleBundler from "vite-plugin-vue-style-bundler"

export default defineConfig({
  plugins: [    
    vue(),
    StyleBundler({    
        // lessOptions:{},  if you need to use less, you can configure lessOptions
        // sassOptions:{}   if you need to use sass/scss, you can configure sassOptions
    }) 
  ],
})


  • 第2步:Writing Components
<template>
  <div class="hello">Hello, {{ msg }}</div>
</template>
<style bundle>
.hello {
  color: red;
}
</style>

When the bundle attribute is added to the style tag of the component, the vite-plugin-vue-style-bundler plugin will process the source code of the component.


<template>
  <div class="hello">Hello, {{ msg }}</div>
</template>
<script setup>
+   const $insertStylesheet = (id,css)=>{
+        let style = document.getElementById('ho79thw')
+        if(!style){
+            style = document.createElement("style")
+            style.id = 'ho79thw'
+            document.head.appendChild(style)            
+            style.innerHTML = css
+        }
+    }
+    $insertStylesheet(`
+      .hello {
+        color: red;
+      }
+    `)
</script>
- <style bundle>
- .hello {
-   color: red;
- }
- </style>

Explain

  • The plugin automatically injects code into the
  • The styles will be injected into the style tag in the document head, and the style.id is generated based on the path of the current vue file by default. It can also be specified through <style bundle='styleId'>.
  • If you need to use less or sass, you can add lessOptions or sassOptions in the plugin configuration.
  • By default, the plugin enables the scoped mode for css in the <style> tag, so as to avoid style pollution. If scoped mode is not needed, you can set <style scoped='false'>.

Recommendation

License

MIT

FAQs

Package last updated on 26 Mar 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc