{"id":23581088,"url":"https://github.com/mmf-fe/vite-plugin-cdn-import","last_synced_at":"2025-04-04T10:08:10.455Z","repository":{"id":41402421,"uuid":"367763905","full_name":"MMF-FE/vite-plugin-cdn-import","owner":"MMF-FE","description":"Import modules from CDN with vite plugin","archived":false,"fork":false,"pushed_at":"2024-07-23T05:06:56.000Z","size":275,"stargazers_count":218,"open_issues_count":21,"forks_count":33,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-23T16:01:35.664Z","etag":null,"topics":["cdn","vite-plugin"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MMF-FE.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-16T01:47:02.000Z","updated_at":"2025-03-22T10:26:18.000Z","dependencies_parsed_at":"2024-04-24T09:37:12.900Z","dependency_job_id":"665673f0-3ced-452d-93eb-20b748ca6a04","html_url":"https://github.com/MMF-FE/vite-plugin-cdn-import","commit_stats":{"total_commits":21,"total_committers":2,"mean_commits":10.5,"dds":"0.38095238095238093","last_synced_commit":"c37f095efe1456a081d521c7a90e7aef035f6057"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MMF-FE%2Fvite-plugin-cdn-import","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MMF-FE%2Fvite-plugin-cdn-import/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MMF-FE%2Fvite-plugin-cdn-import/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MMF-FE%2Fvite-plugin-cdn-import/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MMF-FE","download_url":"https://codeload.github.com/MMF-FE/vite-plugin-cdn-import/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246981163,"owners_count":20863826,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cdn","vite-plugin"],"created_at":"2024-12-27T00:14:09.997Z","updated_at":"2025-04-04T10:08:10.425Z","avatar_url":"https://github.com/MMF-FE.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Import modules from CDN with vite plugin\n\nEnglish | [简体中文](README.zh-CN.md)\n\n[![GitHub tag](https://img.shields.io/github/tag/MMF-FE/vite-plugin-cdn-import.svg)](https://github.com/MMF-FE/vite-plugin-cdn-import/releases)\n[![License](https://img.shields.io/github/license/SafdarJamal/vite-template-react)](https://github.com/MMF-FE/vite-plugin-cdn-import/blob/master/LICENSE)\n\nAllows you to specify modules to be introduced in a production environment using a CDN.\n\nThis can reduce build time and improve page load speed in production environments.\n\n## Installation\n\nInstall the plugin with npm:\n\n```\nnpm install vite-plugin-cdn-import --save-dev\n```\n\nor yarn\n\n```\nyarn add vite-plugin-cdn-import -D\n```\n\n## Basic Usage\n\nAdd it to vite.config.js\n\n```js\n// vite.config.js\nimport cdn from 'vite-plugin-cdn-import'\n\nexport default {\n    plugins: [\n        cdn({\n            modules: [\n                {\n                    name: 'react',\n                    var: 'React',\n                    path: `umd/react.production.min.js`,\n                },\n                {\n                    name: 'react-dom',\n                    var: 'ReactDOM',\n                    path: `umd/react-dom.production.min.js`,\n                },\n            ],\n        }),\n    ],\n}\n```\n\n### Use preset\n\n```js\n// vite.config.js\nimport cdn from 'vite-plugin-cdn-import'\n\nexport default {\n    plugins: [\n        cdn({\n            modules: ['react', 'react-dom'],\n        }),\n    ],\n}\n```\n\n### Preset packages\n\n- react\n- react-dom\n- react-router-dom\n- antd\n- vue\n- vue2\n- vue-router\n- vue-router@3\n- moment\n- dayjs\n- axios\n- lodash\n\n## Options\n\n\n### prodUrl\nGlobal prodUrl attribute, template url that generates CND file path.\n- REF: [prodUrl](https://github.com/shirotech/webpack-cdn-plugin?tab=readme-ov-file#produrlstring--unpkgcomnameversionpath)\n- Type\n```ts\n{\n    prodUrl?: string\n}\n```\n- Default: \u003chttps://cdn.jsdelivr.net/npm/{name}@{version}/{path}\u003e\n\n### modules\nexternal config\n- Type\n```ts\ntype GetModuleFunc = (prodUrl: string) =\u003e Module\n{\n    modules: (Module | Module[] | GetModuleFunc | GetModuleFunc[])[]\n}\n```\n\n### enableInDevMode\nEnabled in dev mode\n- Type: `boolean`\n- Default：`false`\n\n\u003e Please ensure process.env.NODE_ENV === 'development' when you use vite2, vite3.\n\n### generateScriptTag\nCustom generated script tags\n- Type\n```ts\ngenerateScriptTag?: (\n    name: string,\n    scriptUrl: string,\n) =\u003e Omit\u003cHtmlTagDescriptor, 'tag' | 'children'\u003e\n```\n\n### generateCssLinkTag\nCustomize generated css link tags\n\n- Type\n```ts\ngenerateCssLinkTag?: (\n    name: string,\n    cssUrl: string,\n) =\u003e Omit\u003cHtmlTagDescriptor, 'tag' | 'children'\u003e\n```\n\n### Module\n\n| Name | Description                                   | Type              |\n| ---- | --------------------------------------------- | ----------------- |\n| name | package name                        | string            |\n| alias | Alias ​​of name, for example \"react-dom/client\" is an alias of \"react-dom\"   | string[]      |\n| var  | Variables assigned globally to the module| string            |\n| path | Specify the load path on the CDN                         | string / string[] |\n| css  | Multiple style sheets can be loaded from CDN addresses         | string / string[] |\n| prodUrl  | Override global prodUrl   | string / string[] |\n\n\n## Other CDN pordUrl\n\n| Name  | pordUrl                                                  |\n| ----- | -------------------------------------------------------- |\n| unpkg | //unpkg.com/{name}@{version}/{path}                      |\n| cdnjs | //cdnjs.cloudflare.com/ajax/libs/{name}/{version}/{path} |\n\n## Ressources\n\n- [webpack-cdn-plugin](https://github.com/shirotech/webpack-cdn-plugin)\n- [rollup-plugin-external-globals](https://github.com/eight04/rollup-plugin-external-globals)\n- [vite-plugin-externals](https://github.com/crcong/vite-plugin-externals)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmf-fe%2Fvite-plugin-cdn-import","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmmf-fe%2Fvite-plugin-cdn-import","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmf-fe%2Fvite-plugin-cdn-import/lists"}