英镑符号 (#) 作为注释在 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 中开始?的主要内容,如果未能解决你的问题,请参考以下文章