JS 中的 Shebang/Hashbang

JS 中的 Shebang/Hashbang

💡 原文中文,约1600字,阅读约需4分钟。
📝

内容提要

本文介绍了在Shell和JS脚本中使用Shebang语法指定解释器执行脚本的方法。通过在脚本文件开头添加#!加上解释器指令,可以实现指定解释器执行。JS脚本需要特殊处理以兼容Shebang,在浏览器中可以使用ECMAScript 2023中的Hashbang提案解决。目前大多数浏览器都支持Hashbang。

🎯

关键要点

  • Shell 脚本可以通过两种方式运行:命令加脚本文件或赋予可执行权限直接执行。
  • JS 脚本通常通过命令加脚本文件的方式运行,直接执行会提示错误。
  • Shebang 语法可以在脚本文件开头指定解释器,确保脚本以指定的解释器执行。
  • Shebang 由 Sharp 和 Bang 两部分组成,也被称为 Hashbang。
  • 可以通过 where 命令查找解释器位置,或使用 env 命令找到正确的解释器。
  • 在 Shell 中,Shebang 被忽略并不会影响执行,但在 JS 中需要特殊处理以兼容 Shebang。
  • 浏览器中的 JS 引擎不识别 Shebang,ECMAScript 2023 通过 Hashbang 提案解决了这个问题。
  • 目前大多数浏览器支持 Hashbang,服务端和客户端同构的 JS 脚本不再需要担心 Hashbang 的问题。
➡️

继续阅读