简介
当使用 Rollup 打包 Node.js 模块时,我们通常需要保留模块文件中的 shebang(即以 #!
开头的那一行),使得该模块在命令行下可以被正确地执行。而 rollup-plugin-preserve-shebang
就是为了解决这个问题而生的一个 Rollup 插件。
本文将详细介绍如何使用 rollup-plugin-preserve-shebang
插件,并附带实例代码进行演示。
安装
首先,我们需要使用 npm 安装 rollup-plugin-preserve-shebang
:
npm install --save-dev rollup-plugin-preserve-shebang
配置
在 rollup.config.js
中,我们需要引入并配置 rollup-plugin-preserve-shebang
插件。例如:
-- -------------------- ---- ------- ------ --------------- ---- --------------------------------- ------ ------- - ------ --------------- ------- - ----- ----------------- ------- ----- -- -------- - ----------------- - --
这样,在 Rollup 打包时,rollup-plugin-preserve-shebang
就会读取每个模块文件中的 shebang,并将其保留到最终的打包文件中。
示例
假设我们有以下两个模块文件:
src/index.js
#!/usr/bin/env node console.log('Hello, world!');
src/utils.js
export function square(x) { return x * x; }
我们想要将这两个模块文件打包成一个 Node.js 模块,使得执行 node dist/bundle.js
时能够正确地输出 'Hello, world!'
。
首先,在项目根目录下创建一个名为 rollup.config.js
的配置文件,内容如下:
-- -------------------- ---- ------- ------ --------------- ---- --------------------------------- ------ ------- - ------ --------------- ------- - ----- ----------------- ------- ----- -- -------- - ----------------- - --
然后,在命令行中执行 npx rollup -c
,即可生成最终的打包文件 dist/bundle.js
。
最后,我们可以在命令行中执行 node dist/bundle.js
,看到正确输出了 'Hello, world!'
。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/46543