Rollup 打包一个 JavaScript 项目

news2025/6/28 8:16:14
export default {
  input: "./src/FFCesium/core/index.js", // 输入文件
  output: {
    file: "public/lastVersion/FFCesium.confuse.js", // 输出文件
    //format: "cjs", // 打包格式为cjs
    format: "es",
    exports: "default", // 或者 'default'
  },
  external: ["cesium", "cesium-navigation-es6", "@turf/turf", "vue"],
  plugins: [
    Obfuscator(),
    nodeResolve(), // 解析npm模块
    commonjs(), // 将CommonJS模块转为可被Rollup处理的格式
    image(), //支持打包图片
    postcss({
      extract: false, // 提取到单独的 CSS 文件
      minimize: true, // 压缩 CSS
    }), //支持打包css
  ],
};
  1. input: 指定打包的入口文件路径,这里是 ./src/FFCesium/core/index.js,即项目的主入口文件。

  2. output: 指定打包后输出的文件配置。

    • file: 输出文件的路径为 public/lastVersion/FFCesium.confuse.js
    • format: 输出的模块格式为 ES Module ("es"),这种格式适用于现代 JavaScript 模块系统,支持树摇和异步加载。
    • exports: 指定输出的方式为 default,表示默认导出方式。这对于 ES Module 格式来说是默认的导出方式。
  3. external: 声明外部依赖,这些依赖不会被打包进最终的输出文件中,而是在运行时从外部引入。在这个配置中,外部依赖包括 cesium, cesium-navigation-es6, @turf/turf, 和 vue

  4. plugins: 插件列表,用于处理不同类型的文件和资源。

    • Obfuscator(): 这个插件可能是自定义的,用于混淆代码,增强代码的安全性。
    • nodeResolve(): 解析 Node.js 模块,使得 Rollup 能够处理引入的 npm 包。
    • commonjs(): 将 CommonJS 模块转换为 ES Module 格式,以便 Rollup 可以处理它们。
    • image(): 支持打包图片资源,可能是自定义的处理图片的插件。
    • postcss(): 处理 CSS 文件的插件,这里设置了不提取到单独的 CSS 文件,而是内联到 JavaScript 文件中,并启用了 CSS 的压缩功能。

这个配置文件的目的是将项目中的 JavaScript 和相关资源打包成一个单独的 JavaScript 文件,以 ES Module 的格式输出到 public/lastVersion/FFCesium.confuse.js 文件中。配置中使用了一些常见的插件来处理 JavaScript 模块、图片和 CSS 等资源,确保打包后的文件能够在浏览器或 Node.js 环境中运行和加载。

需要的资源

import { nodeResolve } from "@rollup/plugin-node-resolve";
import commonjs from "@rollup/plugin-commonjs";
import image from "@rollup/plugin-image";
import postcss from "rollup-plugin-postcss";
import Obfuscator from "rollup-plugin-obfuscator";

在package.json中配置

"scripts": {
    "dev": "vite ",
    "build": "vite build",
    "preview": "vite preview",
    "pack": "rollup --config bin/pack/rollup.config.js",
    "packmin": "rollup --config bin/pack/rollup.config.min.js",
    "packconfuse": "rollup --config bin/pack/rollup.config.confuse.js",
    "packconfusemin": "rollup --config bin/pack/rollup.config.confuse.js && rollup --config bin/pack/rollup.config.confuse.min.js"
  },

rollup ---config +路径。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1822586.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机网络学习3

文章目录 以太网的MAC帧格式虚拟局域网VLAN概述虚拟局域网VLAN的实现机制以太网的发展802.11无线局域网的组成无线局域网的物理层无线局域网的数据链路层---使用CSMA/CD协议802.11无线局域网的MAC帧 网络层网络层概述网际协议IP和4.2.1异构网络互联IPv4地址及其编址方法概述IPv…

产品规划之精益画布的四大注意事项

精益画布要求团队从用户的角度出发,明确用户痛点和需求,关注用户体验,提高用户满意度和产品市场匹配度,有利于产品迭代与验证,提高了市场适应性和资源配置效率,降低项目潜在风险。 如果没有使用精益画布&am…

什么是断言?

一、assert是个啥? 断言是为了方便调试程序,并不是发布程序的组成部分。理解这一点是很关键的。 在C和C语言中都有assert关键字,表示断言。 java 也不例外,在Java SE 1.4版本以后也增加了断言的特性。 默认情况下,JV…

【QT5】<总结> QT主要技术点

文章目录 前言 一、QT串口编程 二、QT网络编程 三、QT多线程 四、QT连接数据库 五、开发板上运行QT程序 前言 在学习QT的过程中,旨在更好地巩固所学到的知识,本篇总结QT在嵌入式开发中的主要技术点。 一、QT串口编程 思维导图: 知识点…

金融科技助力绿色金融:可持续发展新动力

随着全球气候变化和环境问题的日益严重,绿色金融作为推动环境保护和经济可持续发展的重要手段,已经受到越来越多的关注。而金融科技,作为科技与金融深度融合的产物,正以其独特的优势为绿色金融的发展注入新动力。本文将探讨金融科…

UE5-不同材质上脚步声

主要是用物理材质给不同的材质加一个标签 创建材质 首先去设置里面创建几个地形材质名称,我这里创建了Grass,Rock,Wood,Water (就是名字而已) 然后创建物理材质(物理材质可以添加到现有的普通…

使用Spring AI 和 LLM 实现数据库查询

AIDocumentLibraryChat 项目已扩展为支持提问来搜索关系数据库。用户可以输入一个问题,然后嵌入搜索相关的数据库表和列来回答问题。然后,LLM 获取相关表的数据库架构,并根据找到的表和列生成一个 SQL 查询,来展示结果回答问题。 …

JAVA动态表达式:Antlr4 表达式树解析

接上面 JAVA动态表达式:Antlr4 G4 模板 读取字符串表达式结构树-CSDN博客 目前已经实现了常量及分组常规表达式的解析。 String formula "啦啦啦1 and 11 and 23 and 1123 contains 1 and 23455 notcontains 5"; String formula "啦啦啦1 and (…

基于JSP技术的电子商城系统

开头语: 你好,我是计算机学长码农猫哥。如果你对电子商城系统感兴趣或有相关开发需求,欢迎联系我。 开发语言:Java 数据库:MySQL 技术:JSP技术 工具:Eclipse、Tomcat 系统展示 首页 管理…

算法007:三数之和

. - 力扣(LeetCode). - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/3sum/ 这个题相较于前几个题来说比较难,思想是前面一个题目…

【MySQL】mysql中常见的内置函数(日期、字符串、数学函数)

文章目录 案例表日期函数字符串函数数学函数其他函数 案例表 emp students 表 exam_result 表 日期函数 注意current_time和now的区别 案例一: 创建一张表用来记录生日,表结构如下 添加日期: insert tmp (birthday) values (2003-01-3…

Matrix->Matrix工具类获取Matrix的平移、缩放、错切数值

// 传入矩阵,获取矩阵数值 class MatrixValues(matrix: Matrix) {val scaleX: Floatval scaleY: Floatval transX: Floatval transY: Floatval skewX : Float val skewY : Floatinit {val fromValues FloatArray(9)matrix.getValues(fromValues)// 缩放数值scaleX …

1、MFC应用程序框架

MFC简介 MFCMFC样式 MFC应用程序框架单文档应用程序框架工程文件的组成结构 MFC应用程序框架分析SDK应用程序和MFC应用程序运行过程对比MFC应用程序框架主要类之间的关系 MFC消息映射机制概述消息消息映射机制Windows消息分类消息映射表 添加消息处理函数各种Windows消息的消息…

Linux 系统删除乱码文件

项目场景: 通过rm -rf 删除乱码文件,删除不了 问题描述 这时直接使用命令rm -rf 是删除不了的。只能通过删除 inode方法处理。 原因分析: 在Linux上传文件或文件夹时,由于出现连接中断,出现了大量的乱码文件&#…

顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-通话时长限制

文章目录 前言联系我们场景运用机器人场景普通通话场景 前言 顶顶通呼叫中心中间件限制通话时长有两种写法,分别作用于机器人场景与普通通话场景。 普通场景可分为分机互打、分机外呼手机等。 联系我们 有意向了解呼叫中心中间件的用户,可以点击该链接…

Sping源码(九)—— Bean的初始化(非懒加载)— lookupMethod标签

序言 在继续深入Spring的对象创建流程之前&#xff0c;这篇文章先简单介绍一下lookupMethod标签的用法及作用。 准备的xml 自定义名为methodOverride.xml的配置文件。 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.s…

旅行者1号有什么秘密?飞行240多亿公里,为什么没发生碰撞?

旅行者1号有什么秘密&#xff1f;飞行240多亿公里&#xff0c;为什么没发生碰撞&#xff1f; 自古以来&#xff0c;人类就对浩瀚无垠的宇宙充满了好奇与向往。从最初的仰望星空&#xff0c;到如今的深空探测&#xff0c;人类探测宇宙的历史发展可谓是一部波澜壮阔的史诗。 在…

【Shopee】计算虾皮订单的各项支出和订单收入计算方法

虾皮订单成交截图 基础条件&#xff1a; 商品金额&#xff1a;11.92 [4x2.98] 商品原价&#xff1a;7.5 商品折后价&#xff1a;2.98 商品数量&#xff1a;4 优惠券与回扣&#xff1a; 店铺优惠券&#xff08;减10%&#xff09;&#xff1a;1.2 [11.92x10% 四舍五入了] 订单实…

基于软件在环的飞控机建模仿真

安全关键系统&#xff08;Safety-Critical System&#xff0c;SCS&#xff09;是指由于某些行为或组合行为能够引发整体系统失效&#xff0c;继而导致财物损失、人员受伤等严重影响的系统&#xff0c;诸多安全关键领域如航空航天、核电系统、医疗设备、交通运输等领域的系统都属…

redis 笔记2之哨兵

文章目录 一、哨兵1.1 简介1.2 实操1.2.1 sentinel.conf1.2.2 问题1.2.3 哨兵执行流程和选举原理1.2.4 使用建议 一、哨兵 1.1 简介 上篇说了复制&#xff0c;有个缺点就是主机宕机之后&#xff0c;从机只会原地待命&#xff0c;并不能升级为主机&#xff0c;这就不能保证对外…