英镑符号 (#) 作为注释在 JavaScript 中开始?

Posted

技术标签:

【中文标题】英镑符号 (#) 作为注释在 JavaScript 中开始?【英文标题】:Pound Sign (#) As Comment Start In JavaScript? 【发布时间】:2014-01-28 23:45:41 【问题描述】:

井号 (#) 是否在 javascript 中开始注释?我有一个与 NPM 一起使用的网站,当我尝试使用 Grunt 缩小 JavaScript 时,Uglify 抛出了错误:

Warning: Uglification failed.
Unexpected character '#'.
Line 1 in app/min-libs/node_modules/grunt-contrib-jshint/node_modules/jshint/nod
e_modules/cli/examples/cat.js
 Use --force to continue.

被引用的文件名似乎来自另一个 NPM 模块,这意味着他们知道自己在做什么。因此,当我转到 app/min-libs/node_modules/grunt-contrib-jshint/node_modules/jshint/node_modules/cli/examples/cat.js 时,冒犯的行说:

#!/usr/bin/env node

这是评论还是这个 NPM 模块的所有者知道一些超级机密的禁止 JavaScript 技术?

【问题讨论】:

【参考方案1】:

这不是一种 JavaScript 技术,而是一种 *nix OS 技术。它被称为shebang。引用维基

在类 Unix 操作系统下,当运行带有 shebang 的脚本时 作为一个程序,程序加载器解析脚本的其余部分 初始行作为解释器指令;指定的解释器 程序改为运行,将原来的路径作为参数传递给它 最初在尝试运行脚本时使用

因此,cat.js 文件可以像可执行文件一样在 shell 中执行(如果它具有可执行权限)。

cat.js

而不是

node cat.js

【讨论】:

哇,你每天都能学到新东西。我想我必须找到一种方法让 Uglify 忽略包含这个 shebang 的文件。谢谢。 如果我可以问,@thefourtheye,您的个人资料名称来自哪里?我知道第三只眼是能看到想像什么的,那第四只眼是什么? @trysis 不客气 :) 根据印度教神话lord Shiva has three eyes。由于他有第三只眼的名字,我取了第四只眼:P @trysis 谢谢 :) 如果对您有帮助,请考虑接受这个答案 :)

以上是关于英镑符号 (#) 作为注释在 JavaScript 中开始?的主要内容,如果未能解决你的问题,请参考以下文章

测试浏览器是否支持JavaScript脚本

Android 蓝牙打印机英镑符号 (£) 不工作

如何修复 £ 符号前的特殊字符 - 399 英镑 - Spring Boot json

JavaScript 多行注释中的“@”符号有啥作用?

javascript语言基础

世界各国的货币名称