vue3 组件打包成umd和es格式

这篇具有很好参考价值的文章主要介绍了vue3 组件打包成umd和es格式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、新建:build.js

// bin/build.js
// node包,commonjs规范
const path = require('path')
const { defineConfig, build } = require('vite')
const vue = require('@vitejs/plugin-vue') 


const entryDir = path.resolve(__dirname, './src/components')

const outDir = path.resolve(__dirname, './lib')

// vite基础配置
const baseConfig = defineConfig({
  configFile: false,
  publicDir: false,
  plugins: [vue()]
})

const rollupOptions = {
  // 不想打包进库的依赖
  external: [
    'vue'
  ],
  output: {
    //UMD构建模式下为这些外部化的依赖提供一个全局变量
    globals: {
      vue:'Vue'
    }
  }
}
// 全量打包构建
const buildAll = async () => {
  await build({
    ...baseConfig,
    build: {
      rollupOptions,
      lib: {
        entry: path.resolve(entryDir, 'index.ts'),
        name: 'SaaSComponents', // umd的变量名
        fileName: (format) => `saas-components.${format}.js`, // 输出文件名
        formats: ['es', 'umd'],
        
      },
      outDir,
      minify:false
    }
  })
}
const buildLib = async () => {
  await buildAll()
}
buildLib()

vue3 组件打包成umd和es格式

 二、修改package.json

{
  "name": "vue3_cli_default",
  "version": "0.0.0",
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "serve": "vite preview",
	"build:components": "node --trace-warnings ./build.js",
	"lib": "npm run build:components"
  },
  "dependencies": {
    "element-plus": "^2.2.10",
    "vue": "^3.2.8"
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^1.6.0",
    "@vue/compiler-sfc": "^3.2.6",
    "vite": "^2.5.2"
  }
}

运行打包:

vue3 组件打包成umd和es格式

PS D:\Projects\HBuilderProjects\saas-plugin> cd D:\Projects\HBuilderProjects\saas-plugin | npm run lib

> vue3_cli_default@0.0.0 lib D:\Projects\HBuilderProjects\saas-plugin
> npm run build:components

> vue3_cli_default@0.0.0 build:components D:\Projects\HBuilderProjects\saas-plugin
> node --trace-warnings ./build.js

vite v2.5.3 building for production...
✓ 3 modules transformed.
lib/saas-components.es.js   1.24 KiB / brotli: 0.49 KiB
lib/saas-components.umd.js   1.63 KiB / brotli: 0.59 KiB

vue3 组件打包成umd和es格式文章来源地址https://www.toymoban.com/news/detail-505922.html

到了这里,关于vue3 组件打包成umd和es格式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VUE build:gulp打包:测试、正式环境

    目录 项目结构 Gulp VUE使用Gulp Vue安装Gulp Vue定义Gulp.js package.json build文件夹 config文件夹 static-config文件夹     Gulp是一个自动化构建工具,可以帮助前端开发者通过自动化任务来管理工作流程。Gulp使用Node.js的代码编写,可以更加灵活地管理代码以及任务流程.    对于Vue.js前端

    2024年02月07日
    浏览(29)
  • rollup 打包vue3组件库报错 ‘createElementVNode‘ is not exported by node\_modules\\vue\\dist\\vue.runtime.esm

    在这里插入图片描述 报错意思就是说 createElementVNode 没有被导出。也就是找不到。然后看下面 1: import { renderSlot as _renderSlot, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, renderList as _renderList, Fragment as _Fragmen

    2024年02月03日
    浏览(37)
  • Vite + Vue3 + Ts 解决打包生成的index.html页面显示空白、资源跨域、找不到资源、404-Page Not Found等错误;关于vite build后访问报错 关于vite build后访问报错:Expected a JavaScript module script but the server responded with a MIME type of “

    一.vite.config.ts配置:主要的就是base: env.VITE_MODE === \\\'production\\\' ? \\\'./\\\' : \\\'/\\\', 二. 打包后的结果如图所示,文件路径是 ./ 其实 去掉./ 也 是可以 的,但是打包后是 /favicon.ico 这种路径是访问不到的,参考第一部分 三. 配置路由:路由改成 createWebHashHistory   四. vscode安装Live Server   

    2024年02月11日
    浏览(44)
  • vue初体验1:新建vue3项目并启动访问(mac)

    一、 安装hbuilderx HBuilderX是一款基于Electron框架开发的跨平台的集成开发环境(IDE), 是为前端开发者服务的通用 IDE,或者称为编辑器;提供比其他工具更优秀的 vue 支持 。HBuilderX集成了多种开发工具和语言,包括HTML、CSS、JavaScript、TypeScript、Vue.js、React等,可以帮助开发者

    2024年02月08日
    浏览(27)
  • nginx: 部署前端项目的详细步骤(vue项目build打包+nginx部署)

    目录 第一章 前言 第二章 准备工作 2.1 项目打包理解 2.1.1 打包命令 2.1.2 理解npm run serve/dev 和 npm run build命令 2.2 nginx参数配置理解 2.2.1 nginx常用基本命令 2.2.2 默认配置 2.2.3 搭建不同网站的站点 2.2.4 禁止访问的目录以及一键申请SSL证书验证目录相关设置 2.2.5 根据文件类型设置

    2024年02月04日
    浏览(45)
  • Vue3 - vite 引入本地图片方法,页面引入本地静态资源图像详细教程,解决 UI 前端组件库的图片属性无法使用本地图像问题(无论是本地开发还是打包部署,本地图片的路径正常可用)

    在 webpack 中通常用 require() 来引入静态图片,但在 vite 中这种方法就不行了。 本文实现了 在 vue3+vite 项目开发中,实现引入本地图片(静态资源),并且 build 打包后依然正常运行, 支持普通 img 标签使用,也支持 UI 组件库的各种 “图片属性” 当参数进行使用。 如下图所示

    2024年02月08日
    浏览(45)
  • 新建vite+vue3+ts项目,以及解决过程中遇到的问题

    目录 一、新建vite+vue3+ts项目 二、解决过程中遇到的问题 解决报错:Module ‘“xx.vue“‘ has no default export. 解决报错:Error [ERR_MODULE_NOT_FOUND]: Cannot find package ‘uuid’ imported from xxx的解决 解决报错:[plugin:vite:css] Preprocessor dependency \\\"less\\\" not found. Did you install it? 此处我使用npm做一下

    2024年02月06日
    浏览(113)
  • vue3项目打包和上线

    在vite.config.ts文件中添加esbuild:{drop:[\\\"console\\\",\\\"debugger\\\"]} 在package.json文件中scripts对象中 \\\"build\\\": \\\"run-p type-check build-only\\\"改为\\\"build\\\": \\\"run-p build-only\\\" (1)echarts首次渲染没问题,第二次渲染却成空白 产生原因:echarts插件自带的bug 解决方法 (2)控制台输出404 产生原因:未找到图标文

    2024年02月03日
    浏览(31)
  • vue3 项目打包后白屏

    根据Vue3.x文档,在 vue.config.js/vite.config.ts 统一对webpack、跨域、端口号等属性进行配置。 1.在 vue.config.js/vite.config.ts添加publicPath属性并将值更改成 ‘./’ 在这里插入图片描述 2.若还没有解决就去路由中将history模式设置成默认的Hash模式, 一般是服务器后端配置之后才使用hist

    2024年02月16日
    浏览(35)
  • uniapp+vue3打包问题记录

    **背景:**打包app出现问题,只显示底部导航的文字,其他一片空白 1. pages.json文件 :tabBar中的iconPath图标格式不支持svg,只支持:png, jpg, jpeg的格式,当图片改为.png的时候可以正常显示 2. 适配插件的影响 :使用了postcss-pxtorem插件,同时安装了lib-flexible插件,但因为lib-flexib

    2024年01月16日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包