Skip to content

基础用法

默认行为

默认情况下,插件保留源文件中的原始 shebang:

输入 (src/cli.js):

js
#!/usr/bin/env node

import { program } from 'commander'

program.parse()

输出 (dist/cli.js):

js
#!/usr/bin/env node
// 打包后的代码...

自定义 Shebang

你可以指定自定义 shebang:

js
replaceShebang({
  shebang: '#!/usr/bin/env node'
})

模板变量

在 shebang 中使用模板变量,会自动替换为包信息:

js
replaceShebang({
  shebang: '#!/usr/bin/env node # ${name} v${version}'
})

可用变量:

  • ${name} - package.json 中的包名
  • ${version} - package.json 中的版本号

设置可执行权限

启用 chmod 选项自动设置可执行权限:

js
replaceShebang({
  chmod: true
})

这会对输出文件执行 chmod +x

保留原始 Shebang

使用 preserve: true 保持原始 shebang 不做修改:

js
replaceShebang({
  preserve: true
})

当你想确保 shebang 被保留但不想自定义它时,这很有用。

处理反斜杠转义

如果你的代码包含 \u005c 转义序列,启用 skipBackslash

js
replaceShebang({
  skipBackslash: true
})

基于 MIT 许可发布