Rollup 与其它工具的集成

Rollup 与其它工具的集成

  • 与其他 NPM 包
    • 场景
    • 实例
      • 应用插件
      • 安装命令
      • 更新src/main.js 文件
      • 结果
    • 解决方案
      • 插件
      • 安装命令
      • 添加到配置文件中
      • 结果
    • @rollup/plugin-commonjs
  • 对等依赖项
    • 作用
    • 配置文件
  • Babel
    • 作用
    • 安装命令
    • 配置文件

与其他 NPM 包

场景

项目可能会依赖于从 NPM 安装到 node_modules 文件夹中的软件包,
Rollup 默认情况下不知道如何处理这些依赖项

实例

应用插件

the-answer

安装命令

npm install the-answer

更新src/main.js 文件

// src/main.js
import answer from 'the-answer';export default function () {console.log('the answer is ' + answer);
}

结果

在这里插入图片描述
提示the-answer没有依赖, import 声明会被转换为 CommonJS 的 require 语句,但是 the-answer 不会被包含在 bundle 中(可以理解为以require 方法引入插件)

解决方案

插件

@rollup/plugin-node-resolve

安装命令

npm install --save-dev @rollup/plugin-node-resolve

添加到配置文件中

// rollup.config.js
import resolve from '@rollup/plugin-node-resolve';export default {input: 'src/main.js',output: {file: 'bundle.js',format: 'cjs'},plugins: [resolve()]
};

结果

没有报错;并且对应代码种引入的插件(the-answer)会被解析,然后与自己写的代码一起进行打包

@rollup/plugin-commonjs

该插件是将 CommonJS 转换为 ES2015

对等依赖项

作用

精准控制哪些插件需要解析并进行内部打包,哪些插件打包后以外部引入的方式应用

配置文件

// rollup.config.js
import resolve from '@rollup/plugin-node-resolve';export default {input: 'src/main.js',output: {file: 'bundle.js',format: 'cjs'},plugins: [resolve({// 将自定义选项传递给解析插件moduleDirectories: ['node_modules']})],// 指出哪些模块应该视为外部模块external: ['lodash']
};

Babel

作用

尚未被浏览器和 Node.js 支持的最新 JavaScript 特性

安装命令

npm i -D @rollup/plugin-babel @rollup/plugin-node-resolve

配置文件

// rollup.config.js
import resolve from '@rollup/plugin-node-resolve';
import babel from '@rollup/plugin-babel';export default {input: 'src/main.js',output: {file: 'bundle.js',format: 'cjs'},plugins: [resolve(), babel({ babelHelpers: 'bundled' })]
};

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Chrome 插件 storage API 解析

Chrome.storage API 解析 使用 chrome.storage API 存储、检索和跟踪用户数据的更改 一、各模块中的 chrome.storage 内容 1. Service worker 中 runtime 内容 2. Action 中 runtime 内容 3. Content 中 runtime 内容 二、权限(Permissions) 如果需使…

自己编译SQLite或将SQLite移植到新的操作系统(六)

返回:SQLite—系列文章目录 上一篇:SQLite中的动态内存分配(五) 下一篇:SQLite—系列文章目录 1.0 引言 对于大多数应用程序,推荐的构建方法 SQLite是使用合并代码 文件 sqlite3.c 及其相应的头文件 sqlite3.…

机器学习预测气候变化对产量的影响

通过机器学习预测作物产量 今天分享一篇文献解读,将围绕论文《结合机器学习和环境变量约束气候变化下作物产量变化预测的不确定性》展开,该研究通过将动态线性模型(DLM)和随机森林机器学习模型(RF)分别与9个全球网格作物模型(GGCM)集成来整合和克服这两种建模框架的…

C++队列queue用法详解

一、queue的介绍 1. 队列是一种容器适配器,专门用于在 FIFO 上下文 ( 先进先出 ) 中操作,其中从容器一端插入元素,另一端 提取元素。 2. 队列作为容器适配器实现,容器适配器即将特定容器类封装作为其底层容器类, qu…

大型驱动水冷负载电阻、缓冲器、滤波器和快速放电电阻

EAK业界首创双面水冷负载电阻器,独特的设计,用户更方便的串联并联使用,强大的水流带走更多因充放电带来的热量。AlN高可靠性氮化铝基板保证了热膨胀不会影响电阻的工作。 液冷电阻器使用水或离子水作为冷却剂。通过添加乙二醇,可以…

题目:小明的背包1(蓝桥OJ 1174)

问题描述&#xff1a; 解题思路&#xff1a; 01背包模板题 题解&#xff1a; // 未优化的01背包 // #include <bits/stdc.h> // using namespace std; // using ll long long; // const int N 1e2 9, M 1e3 9; // int a[N][M]; // ll dp[N][M];// int main() // {…

详解智慧路灯杆网关的集中供电能力

智慧路灯杆网关是智慧杆物联网系统中不可或缺的设备。智慧杆网关不仅可以作为杆载设备与云平台、设备与设备之间的桥梁&#xff0c;促进数据的无缝传输&#xff0c;而且还能提供高效的能源管理和供电功能。 BMG8200系列交流型智慧路灯杆网关就集成了强大的供电能力&#xff0c;…

商品房预售合同备案流程是什么?怎么办理??

商品房预售合同备案后即视为正式合同&#xff0c;具有一般合同的效力。 而在签订商品房时&#xff0c;合同双方应仔细查看预售的相应条款&#xff0c;以便更好地保护自己的合法权益。 购房合同备案流程 &#xff08;一&#xff09;自2006年起&#xff0c;所有销售合同均采用网上…

不小心删除的音频文件怎么恢复?不用愁,恢复指南在这里

在数字化时代&#xff0c;音频文件作为我们珍贵的回忆和资料&#xff0c;有时可能因一时的疏忽或误操作而意外丢失。当您不小心删除了某个重要的音频文件时&#xff0c;不必过于焦虑。本文将为您提供一系列实用的恢复方法&#xff0c;帮助您找回那些误删的音频文件。 图片来源于…

实例:NX二次开发批量判断相连曲线是否封闭

一、概述 最近学习曲线命令&#xff0c;前几天看到&#xff0c;在NX二次开发群里有人推了一篇关于写求取封闭曲线面积的文章。之前我已经写过一篇博客了&#xff0c;今天讲这些函数进行封装到自己的NX二次开发库中&#xff0c;方便今后调用&#xff0c;由于自身不是计算机科本出…

4.Python数据分析—数据分析入门知识图谱索引(知识体系下篇)

4.Python数据分析—数据分析入门知识图谱&索引-知识体系下篇 一个人简介二机器学习基础2.1 监督学习与无监督学习2.1.1 监督学习&#xff1a;2.1.2 无监督学习&#xff1a; 2.2 特征工程2.3 常用机器学习算法概述2.3.1 监督学习算法&#xff1a;2.3.2 无监督学习算法&#…

阿里云ubuntu服务器搭建可视化界面

连接终端 最好初始化服务器的时候 不要以root权限创建 否则会出错 1更新软件: sudo apt-get update2安装ubuntu desktop : sudo apt-get install ubuntu-desktop3 配置ubuntu desktop并重启: sudo apt-get -f install sudo dpkg-reconfigure ubuntu-desktop sudo reboot4 su…