rollup打包封装的js类库

news2024/9/21 18:36:00

rollup中文网:简介 | rollup.js 中文文档 | rollup.js中文网Rollup 是一个 JavaScript 模块打包器,可以将小块代码编译成大块复杂的代码,Rollup 对代码模块使用新的标准化格式,这些标准都包含在 JavaScript 的 ES6 版本中。https://www.rollupjs.com/ 

 

package.json

{
  "name": "lj3d",
  "version": "1.0.0",
  "description": "",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "rollup -c",
    "dev": "rollup -c -w"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/core": "^7.12.10",
    "@babel/preset-env": "^7.12.11",
    "@rollup/plugin-babel": "^5.2.2",
    "@rollup/plugin-node-resolve": "^11.0.1",
    "rollup": "^2.35.1",
    "rollup-plugin-terser": "^7.0.2"
  },
  "main": "dist/cjs/index.js",
  "module": "dist/esm/index.js",
  "files": [
    "dist"
  ]
}

rollup.config.js

import { nodeResolve } from "@rollup/plugin-node-resolve";
import { terser } from "rollup-plugin-terser";
import babel from "@rollup/plugin-babel";
import { name } from "./package.json";
let input = ["src/index.js"]
export default [
  {
    // UMD
    input,
    plugins: [
      nodeResolve(),
      babel({
        babelHelpers: "bundled",
      }),
      terser()
    ],
    output: {
      file: `dist/${name}.min.js`,

      format: "umd",
      name: "lj3d", // 全局对象名
      esModule: false,
      exports: "named",
      sourcemap: false,
    },
  },
  // ESM and CJS
  {
    input,
    plugins: [nodeResolve()],
    output: [
      {
        dir: "dist/esm",
        format: "esm",
        exports: "named",
        sourcemap: true,
      },
      {
        dir: "dist/cjs",
        format: "cjs",
        exports: "named",
        sourcemap: true,
      },
    ],
  },
];

.babelrc.json

{
    "presets": [["@babel/env", { "modules": false }]]
  }

src/A/A1/index.js:

export default class A1 {
    constructor(name) {
        this.name = name
    }
    say() {
        console.log("大家好,我是:", this.name)
    }
}

打包

执行命令:npm run build  【即执行:rollup -c】,-c表示读取配置文件

 

 

测试 

 index.html:

<html>

<head>
  <script src="../dist/lj3d.min.js"></script>
</head>

<body>
  <script>
    console.log("window.lj3d:", window.lj3d)
    let a1 = new lj3d.A.A1('张三a')
    console.log("a1:", a1)
    a1.say()
  </script>
</body>

</html>

 

 

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

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

相关文章

postman解决报错填坑指南

postman报错问题处理总结 问题1&#xff1a;如何解决postman请求异常丢掉proxy开头header自动使用系统环境变量代理问题描述&#xff1a;postman请求&#xff0c;配置了proxy开头的header&#xff0c;但是发请求的时候没有携带&#xff0c;可以查看postman的View-Show Postman …

D. Frets On Fire(二分 + 前缀和)

Problem - D - Codeforces Miyako带着一个乌克丽丽来到跳蚤王国。她与当地的跳蚤居民成为好朋友&#xff0c;并每天为他们演奏美妙的音乐。 作为国报&#xff0c;跳蚤们为她制作了一个更大的乌克丽E:它有n根这&#xff0c;每核这上都有(10181)个品位&#xff08;ires)&#xff…

危险区域闯入识别系统 yolov8

危险区域闯入识别系统通过YOLOv8网络模型技术&#xff0c;危险区域闯入识别系统对现场画面中发现有人违规闯入禁区&#xff0c;系统立即抓拍告警同步回传后台。YOLOv8 提供了一个全新的 SOTA 模型&#xff0c;包括 P5 640 和 P6 1280 分辨率的目标检测网络和基于 YOLACT 的实例…

打电话用的耳机哪个牌子的好?打电话专用的蓝牙耳机推荐

耳机是可以帮助我们进行工作的娱乐设备&#xff0c;像日常中使用最多的就是通话和听歌啦&#xff0c;近几年不论是从产品推出速度&#xff0c;还是做工及品质上来说都有了质的飞跃&#xff0c;下面分享几款打电话音质好的蓝牙耳机。 一、南卡小音舱Lite2蓝牙耳机 蓝牙版本&am…

Inpaint Anything (AI替换)

1、介绍 Inpaint Anything 是一个结合了 SAM、图像修补模型&#xff08;例如 LaMa&#xff09;和 AIGC 模型&#xff08;例如 Stable Diffusion&#xff09;等视觉基础模型的AI图像替换&#xff0c;修补系统。 基于此系统&#xff0c;用户可以方便的使用IA进行图像替换&#…

electron+vue3全家桶+vite项目搭建【14】electron多窗口,多语言切换不同步更新问题

文章目录 引入问题演示补充逻辑注意封装缓存工具类补充状态管理调整多语言初始化调整多语言切换组件 解决方案思路整理渲染进程监听语言切换主进程创建多语言切换处理语言切换组件通知主进程语言切换 最终实现效果演示 引入 我们之前在这篇文章中集成了 多语言切换&#xff0c…

各种加法器介绍——真值表、表达式、电路图、verilog代码实现

文章目录 前言一、半加器二、全加器三、串行/行波进位加法器&#xff08;Ripple-Carry Adder/RCA&#xff09;四、超前进位加法器&#xff08;Lookahead Carry Adder/LCA&#xff09;五、进位保存加法器&#xff08;Carry Save Adder/CSA&#xff09; 前言 2023.4.25 一、半加…

Stable Diffusion人工智能图像合成

AI 图像生成大有来头。新发布的开源图像合成模型称为Stable Diffusion&#xff0c;它允许任何拥有 PC 和像样的 GPU 的人想象出他们能想象到的几乎任何视觉现实。它几乎可以模仿任何视觉风格&#xff0c;如果你给它输入一个描述性的短语&#xff0c;结果就会像魔术一样出现在你…

HTML5 <span> 标签

实例 HTML5 <span>标签内的内容独立于文档&#xff0c;当对该标签应用样式时&#xff0c;包含在其中的内容会呈现出不同的视觉效果。请参考下述示例&#xff1a; 使用 <span> 元素对文本中的一部分进行着色&#xff1a; <p>我的母亲有 <span style&quo…

Redis缓存预热、雪崩、击穿和穿透

文章目录 1、Redis缓存预热2、Redis缓存雪崩3、Redis缓存击穿4、Redis缓存穿透 1、Redis缓存预热 Redis需要缓存预热是因为Redis是基于内存的缓存系统&#xff0c;当Redis启动时&#xff0c;它的内存是空的&#xff0c;需要在实际使用前将需要缓存的数据提前加载到内存中。这个…

DevExpress:报表中XRPictureBox控件绑定数据库(SQlite)中的图片数据

一.需求描述 1.使用XRPictureBox控件显示图片&#xff1b; 2.因为报表需求&#xff0c;显示的图片在指定条件下需要改变&#xff0c;比如&#xff1a;指定生成小明的报表时&#xff0c;加载小明的头像&#xff1b;指定生成小红的报表时&#xff0c;加载小红的头像&#xff1b;…

midjourney关键词总结

Midjourney是一个自主研发的实验室&#xff0c;用户可以通过Discord与Midjourney bot交互&#xff0c;并提交“Prompt”来快速获取所需的图像。 Midjourney具有易上手、难精通的特点&#xff0c;想要绘制出自己满意的图片&#xff0c;需要掌握各种命令和参数&#xff0c;并花费…

web 应用常用功能 -文件上传下载以及原理分析图和注意事项和细节

目录 web 应用常用功能 -文件上传下载 基本介绍 文件上传 文件上传应用实例 upload.jsp 实现步骤 文件上传注意事项和细节 文件下载 文件下载的原理分析图 文件下载应用实例 ● 需求&#xff1a;演示文件下载&#xff0c;如图 download.jsp FileDownloadServlet …

牛客网Verilog刷题——VL28

牛客网Verilog刷题——VL28 题目答案 题目 请编写一个序列检测模块&#xff0c;输入信号端口为data&#xff0c;表示数据有效的指示信号端口为data_valid。当data_valid信号为高时&#xff0c;表示此刻的输入信号data有效&#xff0c;参与序列检测&#xff1b;当data_valid为低…

【手把手做ROS2机器人系统开发五】使用C++实现编写简单的服务器和客户端

使用C实现编写简单的服务器和客户端 目录 使用C实现编写简单的服务器和客户端 一、程序编写 1、创建软件包 2、编译软件包 3、软件配置 4、服务器程序编写 5、客户端程序编写 6、软件包设置 7、设置编译选项 二、程序测试 1、编译程序 2、开启节点测试运行 3、执行…

verilog语言中的门级描述、行为描述及测试验证

描述D型主从触发器模块的门级结构建模&#xff1a; module flop(data, clock, clear, q, qb);input data, clock, clear; output q, qb;// 批量定义门电路 nand #10 nd1(a, data, clock, clear)&#xff0c;nd2(b, ndata, clock)&#xff0c;nd4(d, c, b, clear)&#xf…

算法刷题|1049.最后一个块石头的重量||、494.目标和、474.一和零

最后一个块石头的重量|| 题目&#xff1a;有一堆石头&#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x < y。那么粉…

HBase的表设计笔记

HBase的RowKey设计 HBase是三维有序存储的&#xff0c;通过rowkey&#xff08;行键&#xff09;&#xff0c;column key&#xff08;column family和qualifier&#xff09;和TimeStamp&#xff08;时间戳&#xff09;这个三个维度可以对HBase中的数据进行快速定位。 HBase中row…

中国能源网络安全大会举办,腾讯安全曹文炎分享助力能源企业安全建设的实践经验

2023年4月20日-21日&#xff0c;由中国能源研究会主办的“2023年中国能源网络安全大会”&#xff08;以下简称“大会”&#xff09;在南京召开。大会以“新形势新安全”为主题&#xff0c;围绕提升我国能源行业网络安全水平&#xff0c;增强和维护我国能源网络安全能力&#xf…

Pytorch的CNN,RNNLSTM

CNN 拿二维卷积举例&#xff0c;我们先来看参数 卷积的基本原理&#xff0c;默认你已经知道了&#xff0c;然后我们来解释pytorch的各个参数&#xff0c;以及其背后的计算过程。 首先我们先来看卷积过后图片的形状的计算&#xff1a; 参数&#xff1a; kernel_size &#xff…