vite vue插件打包配置

摘要:
DOCTYPEhtml˃˃˂!
import { defineConfig, UserConfigExport, ConfigEnv } from "vite";
import externalGlobals from "rollup-plugin-external-globals";
import vue from "@vitejs/plugin-vue";
import dts from "vite-plugin-dts";

const path = require("path");

// https://vitejs.dev/config/
export default defineConfig({
  build: {
    target: "esnext",
    outDir: "dist",
    lib: {
      entry: path.resolve(__dirname, "./src/main.ts"),
      name: "myLib", //全局变量的名称
      fileName: "my-lib", //输出文件的名字
    },
    rollupOptions: {
      plugins: [
     //CDN引入的话,使用这个插件做配置。但是这里引入的文件要是遵循umd格式的,此项只会在打包的文件中使用,未打包状态下的dev模式中不会走这里
        externalGlobals({
          vue: "Vue",
        }),
      ],
    },
  },
  plugins: [
    vue(),
    dts({
      insertTypesEntry: true,
      copyDtsFiles: false,
    }),
  ],
});

 几个CDN的例子:

html页面:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <link rel="icon" href="/favicon.ico" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <!-- <script src="https://unpkg.com/vue@3.2.26/dist/vue.global.js"></script>
    <script src="https://unpkg.com/vue-router@4.0.12/dist/vue-router.global.js"></script> -->
    <script src="https://cdn.bootcdn.net/ajax/libs/vue/3.2.0-beta.7/vue.global.min.js"></script>
    <script src="https://cdn.bootcdn.net/ajax/libs/vue-router/4.0.10/vue-router.global.min.js"></script>
    <script src="https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.js"></script>
    <title>Vite App</title>
  </head>
  <body>
    <div id="app"></div>
    <script type="module" src="/src/main.ts"></script>
  </body>
</html>

vite.config.js:

import { defineConfig } from "vite";
import externalGlobals from "rollup-plugin-external-globals";

import vue from "@vitejs/plugin-vue";

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  build: {
    rollupOptions: {
      plugins: [
        externalGlobals({
          "vue-router": "VueRouter",
          'vue':'Vue',
          'axios':'axios'
        }),
      ],
    },
  },
});

//其中key就是你引入的时候的名字,value就是引入的那个第三方库的全局变量名字

免责声明:文章转载自《vite vue插件打包配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇JavaScript Navigator 对象青春不散场下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

基于godror 的 oracle prometheus exporter

iamseth/oracledb_exporter 是一个挺不错的 oracle prometheus exporter ,但是因为oracle golang 驱动的问题,不是很方便 (构建,使用),所以基于godror/godror 调整了一个版本(很简单,替换一个依赖包就可以了),以下是参考说明 修改的文件 go.mod module github....

快思软件,工具资料及学习网

1、快思聪官网手册   https://help.crestron.com/simpl_sharp/   https://help.crestron.com/SimplSharp/html/N_Crestron_SimplSharpPro.htm  (pro主机)   https://help.crestron.com/   https://help.cr...

针对Cloudinit的可行性报告

by hyc 针对Cloud-init的可行性报告 一.Cloud-init研究进展: (1)ubuntu镜像: 已在版本为ubuntu-server-14.04-amd64上实现了修改主机名和用户密码功能。(有详细的安装和操作手册。) (2)windows镜像: 在windows8.1下实现了修改主机名功能,未实现修改用户密码功能。(其原因可能是在创建实...

爬虫和数据

一为什么要做爬虫? 首先请问:都说现在是"大数据时代",那数据从何而来? 企业产生的用户数据:百度指数:http://index.baidu.com/阿里指数:https://alizs.taobao.com/TBI腾讯浏览指数:http://tbi.tencent.com/新浪微博指数:http://data.weibo.com/index 数...

vue中使用axios对同一个接口连续请求导致返回数据混乱的问题

项目中遇到该问题,记录一下 需求是连续请求5次同一个接口,但是参数不一样。最开始使用 forEach 接口循环调用接口,发现有时候先请求的比后请求的返回数据慢,导致数据顺序混乱,所以需要控制请求的顺序。 因为需要将5次数据拿到依次放入指定的数组中。 这里就使用到了 Promise.all getLawhelpMethod(){             ...

43 编译原理及cmake使用手册学习

0 引言 大量开源库需要通过cmake编译后使用,了解cmake的基本指令以及CMakeLists.txt的写法非常重要,其基础是了解编译原理。另外,为了对cmake编译的代码进行调试,需要了解CMakeList.txt的写法。本文将对这些关键问题进行探讨,并记录一些关键点。 参考了如下链接。 https://blog.csdn.net/wzzfeitia...