x-extends / vite-plugin-lazy-import

Used for vite Lazy import js and style
MIT License
1 stars 0 forks source link

vite-plugin-lazy-import

Used for vite Lazy import js and style.

Installation

npm install vite-plugin-lazy-import -D

Usage

// vite.config.js
import { lazyImport } from 'vite-plugin-lazy-import'

export default defineConfig({
  // ...
  plugins: [
    lazyImport({
      resolvers: [
        {
          lib: 'vxe-pc-ui',
          importStyle: 'css', // import style '*.css'
          esm: true // import directory '/es/*' | '/lib/*'
        }
      ]
    })
  ]
  // ...
})

Lazy import js

// vite.config.js
import { lazyImport } from 'vite-plugin-lazy-import'

lazyImport({
  resolvers: [
    {
      lib: 'vxe-pc-ui',
      resolve ({ name, dirName }) {
        return {
          from: `vxe-pc-ui/es/${dirName}/index.js`
        }
      }
    }
  ]
})
// main.js
// ...
import { VxeUI, VxeButton } from 'vxe-pc-ui'
//...

into this

// ...
import { VxeUI } from 'vxe-pc-ui/es/vxe-ui/index.js'
import { VxeButton } from 'vxe-pc-ui/es/vxe-button/index.js'
//...

Lazy import js and css

// vite.config.js
import { lazyImport } from 'vite-plugin-lazy-import'

lazyImport({
  resolvers: [
    {
      lib: 'vxe-pc-ui',
      importStyle: true,
      resolve ({ name, dirName }) {
        return {
          from: {
            jsPath: `vxe-pc-ui/es/${dirName}/index.js`,
            stylePath: `vxe-pc-ui/es/${dirName}/style.css`
          }
        }
      }
    }
  ]
})
// main.js
// ...
import {
  VxeUI,
  VxeModal,
  Button as VxeButton
} from 'vxe-pc-ui'
//...

into this

// ...
import { VxeUI } from 'vxe-pc-ui/es/vxe-ui/index.js'
import 'vxe-pc-ui/es/vxe-ui/style.css'
import { VxeModal } from 'vxe-pc-ui/es/vxe-modal/index.js'
import 'vxe-pc-ui/es/vxe-modal/style.css'
import { Button as VxeButton } from 'vxe-pc-ui/es/button/index.js'
import 'vxe-pc-ui/es/button/style.css'
//...

Contributors

Thank you to everyone who contributed to this project.

vite-plugin-lazy-import

License

MIT © 2019-present, Xu Liangzhan