zhaojinyu e984acc6d0 first commit há 10 meses atrás
..
dist e984acc6d0 first commit há 10 meses atrás
LICENSE e984acc6d0 first commit há 10 meses atrás
README.md e984acc6d0 first commit há 10 meses atrás
README.zh-CN.md e984acc6d0 first commit há 10 meses atrás
package.json e984acc6d0 first commit há 10 meses atrás

README.md

Import modules from CDN with vite plugin

English | 简体中文

GitHub tag License

Allows you to specify modules to be introduced in a production environment using a CDN.

This can reduce build time and improve page load speed in production environments.

Installation

Install the plugin with npm:

npm install vite-plugin-cdn-import --save-dev

or yarn

yarn add vite-plugin-cdn-import -D

Basic Usage

Add it to vite.config.js

// vite.config.js
import reactRefresh from '@vitejs/plugin-react-refresh'
import importToCDN from 'vite-plugin-cdn-import'

export default {
    plugins: [
        importToCDN({
            modules: [
                {
                    name: 'react',
                    var: 'React',
                    path: `umd/react.production.min.js`,
                },
                {
                    name: 'react-dom',
                    var: 'ReactDOM',
                    path: `umd/react-dom.production.min.js`,
                },
            ],
        }),
    ],
}

Use autoComplete

// vite.config.js
import reactRefresh from '@vitejs/plugin-react-refresh'
import importToCDN, { autoComplete } from 'vite-plugin-cdn-import'

export default {
    plugins: [
        importToCDN({
            modules: [
                autoComplete('react'),
                autoComplete('react-dom')
            ],
        }),
        reactRefresh(),
    ],
}

Autocomplete supported modules

"react" | "react-dom" | "react-router-dom" | 
"antd" | "ahooks" | "@ant-design/charts" | 
"vue" | "vue2" | "@vueuse/shared" | 
"@vueuse/core" | "moment" | 
"eventemitter3" | "file-saver" | 
"browser-md5-file" | "xlsx | "crypto-js" |
"axios" | "lodash" | "localforage"

VueUse demo

import vue from '@vitejs/plugin-vue'
import importToCDN, { autoComplete } from 'vite-plugin-cdn-import'

export default {
    plugins: [
        vue(),
        importToCDN({
            modules: [
                autoComplete('vue'), // vue2 use autoComplete('vue2')
                autoComplete('@vueuse/shared'),
                autoComplete('@vueuse/core')
            ],
        }),
    ],
}

Options

Name Description Type Default
prodUrl Overrides the global prodUrl, allowing you to specify the CDN location for a specific module string https://cdn.jsdelivr.net/npm/{name}@{version}/{path}
modules Modules config Array<Module> / Array<(prodUrl:string) => Module> -

Module

Name Description Type
name The name of the module you want to externalize string
var A variable that will be assigned to the module in global scope, Rollup requires this string
path Specify the load path on the CDN string / string[]
css You can alternatively specify multiple style sheets which will be loaded from the CDN string / string[]

Other CDN pordUrl

Name pordUrl
unpkg //unpkg.com/{name}@{version}/{path}
cdnjs //cdnjs.cloudflare.com/ajax/libs/{name}/{version}/{path}

Ressources