0.3.5 • Published 3 years ago
@netless/vite-plugin-cdn-import v0.3.5
Import modules from CDN with vite plugin
English | 简体中文
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-devor yarn
yarn add vite-plugin-cdn-import -DBasic 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
0.3.5
3 years ago