crolup.js:下一代JavaScript模块Bundler
滚动。 与某些多合一捆绑包不同,汇总主要集中在JavaScript上,提供速度和自定义优势。 让我们探索其关键功能以及如何有效使用它。
使用lullup.js::
crolup.js需要node.js v8.0.0或更高版本。 您可以在全球安装它:
>对于在Node.js项目上工作的大型团队,建议将本地安装用于版本一致性:
<code class="language-bash">npm install rollup --global</code>>
>本地安装后,使用
<code class="language-bash">npm install rollup --save-dev</code>>执行命令。 或者,在
脚本中定义汇总命令:npx rollup
package.json
<code class="language-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" }</code>>或
运行。 本教程主要用于更广泛的兼容性。npm run watch
>
npm run build
npx rollup
一个简单的示例:
>让我们创建一个基本的数字时钟示例,以说明汇总功能。 您可以从github下载示例文件或手动创建它们。
src/main.js:
(主入口点)import * as dom from './lib/dom.js';
import { formatHMS } from './lib/time.js';
const clock = dom.get('.clock');
if (clock) {
console.log('initializing clock');
setInterval(() => {
clock.textContent = formatHMS();
}, 1000);
}
>
<code class="language-javascript">export function get(selector, doc = document) { return doc.querySelector(selector); } export function getAll(selector, doc = document) { return doc.querySelectorAll(selector); }</code>
<code class="language-javascript">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()); }</code>
<code class="language-html"><!DOCTYPE html> <meta charset="UTF-8"> <title>Rollup.js testing</title> <meta name="viewport" content="width=device-width,initial-scale=1"> <h1>Clock</h1> <time class="clock"></time> </code>捆绑代码,从项目的root目录运行此命令:
这会创建。 请注意,未使用的功能将通过震动来删除。
参考这个捆绑文件。键滚动.js配置选项:
>--file
或-o
:指定输出文件名。--format
>或-f
:定义输出格式(iife
,es
,cjs
,umd
,amd
,system
,--sourcemap
:生成一个源地图,以更轻松地调试(用于内联源图)。
--sourcemap inline
--watch
/
-w
--config
-c
rollup.config.js
>配置文件简化了管理多个选项和插件。 这是一个示例:>以: 运行
插件:
<code class="language-bash">npm install rollup --global</code>>
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中文网其他相关文章!