搜索

crolup.js:下一代JavaScript模块Bundler

An Introduction to the Rollup.js JavaScript Bundler

由Rich Harris(也是Svelte的作者)创建的

滚动。 与某些多合一捆绑包不同,汇总主要集中在JavaScript上,提供速度和自定义优势。 让我们探索其关键功能以及如何有效使用它。

使用lullup.js:

    >
  • 简化的开发:
  • 管理较小的,独立的源文件可显着改善开发工作流程。
  • 在构建过程中, 增强的代码质量:在构建过程中与衬里,格式化器和语法检查器无缝集成。
  • 摇树优化:智能地删除未使用的代码,导致捆绑较小,更快。
  • 向后兼容:将现代JavaScript(ES6)转换为ES5,确保更广泛的浏览器支持。
  • 灵活的输出:生成多个输出格式(ES5,ES6模块,commonjs),以适应各种项目需求。>
  • 性能:
  • 通常比其他捆绑器更快,更自定义,尤其是使用复杂的配置。>
>安装:

crolup.js需要node.js v8.0.0或更高版本。 您可以在全球安装它:

>对于在Node.js项目上工作的大型团队,建议将本地安装用于版本一致性:
npm install rollup --global
>

>本地安装后,使用
npm install rollup --save-dev
>执行命令。 或者,在

脚本中定义汇总命令:npx rollup package.json

这些脚本可以使用
"scripts": {
  "watch": "npx rollup ./src/main.js --file ./build/bundle.js --format es --watch",
  "build": "npx rollup ./src/main.js --file ./build/bundle.js --format es",
  "help": "npx rollup --help"
}
>或

运行。 本教程主要用于更广泛的兼容性。npm run watch> npm run buildnpx rollup一个简单的示例:

>

>让我们创建一个基本的数字时钟示例,以说明汇总功能。 您可以从github下载示例文件或手动创建它们。

src/main.js:

(主入口点)
> src/lib/dom.js:
  • > src/lib/time.js:
(时间格式化函数)
export function get(selector, doc = document) {
  return doc.querySelector(selector);
}
export function getAll(selector, doc = document) {
  return doc.querySelectorAll(selector);
}
  • index.html:
(html显示时钟)
function timePad(n) {
  return String(n).padStart(2, '0');
}
export function formatHM(d = new Date()) {
  return timePad(d.getHours()) + ':' + timePad(d.getMinutes());
}
export function formatHMS(d = new Date()) {
  return formatHM(d) + ':' + timePad(d.getSeconds());
}
  • 快速启动:
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Rollup.js testing</title>
  <meta name="viewport" content="width=device-width,initial-scale=1" />
</head>
<body>
  <h1 id="Clock">Clock</h1>
  <time class="clock"></time>
  <🎜>
  <🎜> </body>
</html>
捆绑代码,从项目的root目录运行此命令:>

这会创建。 请注意,未使用的功能将通过震动来删除。

参考这个捆绑文件。

键滚动.js配置选项:

>
  • --file-o:指定输出文件名。
  • >
  • --format>或-f:定义输出格式(iifeescjsumdamdsystem
  • )。
  • --sourcemap:生成一个源地图,以更轻松地调试(用于内联源图)。 --sourcemap inline
  • :观看文件更改并自动重建。--watch / -w
  • >配置文件(rolup.config.js):--config-c rollup.config.js>配置文件简化了管理多个选项和插件。 这是一个示例:

>以: 运行

插件:

npm install rollup --global
> npx rollup --config

:andles node.js模块分辨率。 :将COMPORJS模块转换为ES模块。

>

:在构建过程中替换代码中的代币。
  • @rollup/plugin-node-resolve:将ES6代码转换为ES5(考虑现代浏览器支持的替代方案)。
  • @rollup/plugin-commonjs:减去输出代码。
  • @rollup/plugin-replace记住使用
  • 安装插件。 将它们包含在您的
  • @rollup/plugin-buble中。
  • >。
  • rollup-plugin-terser高级技术:

npm install <plugin-name> --save-dev</plugin-name>>plugins>环境变量:rollup.config.js>使用环境变量(例如,

)来有条件地修改构建过程(开发与生产)。

>多个捆绑包:

配置汇总以从不同的入口点生成多个捆绑。
  • >>代码拆分:>通过将代码按需将代码拆分到加载的较小块中,进一步优化了您的应用程序。NODE_ENV>

以上是汇总介绍。的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
JavaScript数据类型:浏览器和nodejs之间是否有区别?JavaScript数据类型:浏览器和nodejs之间是否有区别?May 14, 2025 am 12:15 AM

JavaScript核心数据类型在浏览器和Node.js中一致,但处理方式和额外类型有所不同。1)全局对象在浏览器中为window,在Node.js中为global。2)Node.js独有Buffer对象,用于处理二进制数据。3)性能和时间处理在两者间也有差异,需根据环境调整代码。

JavaScript评论:使用//和 / * * / * / * /JavaScript评论:使用//和 / * * / * / * /May 13, 2025 pm 03:49 PM

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python vs. JavaScript:开发人员的比较分析Python vs. JavaScript:开发人员的比较分析May 09, 2025 am 12:22 AM

Python和JavaScript的主要区别在于类型系统和应用场景。1.Python使用动态类型,适合科学计算和数据分析。2.JavaScript采用弱类型,广泛用于前端和全栈开发。两者在异步编程和性能优化上各有优势,选择时应根据项目需求决定。

Python vs. JavaScript:选择合适的工具Python vs. JavaScript:选择合适的工具May 08, 2025 am 12:10 AM

选择Python还是JavaScript取决于项目类型:1)数据科学和自动化任务选择Python;2)前端和全栈开发选择JavaScript。Python因其在数据处理和自动化方面的强大库而备受青睐,而JavaScript则因其在网页交互和全栈开发中的优势而不可或缺。

Python和JavaScript:了解每个的优势Python和JavaScript:了解每个的优势May 06, 2025 am 12:15 AM

Python和JavaScript各有优势,选择取决于项目需求和个人偏好。1.Python易学,语法简洁,适用于数据科学和后端开发,但执行速度较慢。2.JavaScript在前端开发中无处不在,异步编程能力强,Node.js使其适用于全栈开发,但语法可能复杂且易出错。

JavaScript的核心:它是在C还是C上构建的?JavaScript的核心:它是在C还是C上构建的?May 05, 2025 am 12:07 AM

javascriptisnotbuiltoncorc; saninterpretedlanguagethatrunsonenginesoftenwritteninc.1)javascriptwasdesignedAsalightweight,解释edganguageforwebbrowsers.2)Enginesevolvedfromsimpleterterterpretpreterterterpretertestojitcompilerers,典型地提示。

JavaScript应用程序:从前端到后端JavaScript应用程序:从前端到后端May 04, 2025 am 12:12 AM

JavaScript可用于前端和后端开发。前端通过DOM操作增强用户体验,后端通过Node.js处理服务器任务。1.前端示例:改变网页文本内容。2.后端示例:创建Node.js服务器。

Python vs. JavaScript:您应该学到哪种语言?Python vs. JavaScript:您应该学到哪种语言?May 03, 2025 am 12:10 AM

选择Python还是JavaScript应基于职业发展、学习曲线和生态系统:1)职业发展:Python适合数据科学和后端开发,JavaScript适合前端和全栈开发。2)学习曲线:Python语法简洁,适合初学者;JavaScript语法灵活。3)生态系统:Python有丰富的科学计算库,JavaScript有强大的前端框架。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。