英镑符号(#)评论从JavaScript开始?

时间:2014-01-10 05:40:37

标签: javascript comments npm jshint uglifyjs2

井号(#)是否在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 个答案:

答案 0 :(得分:4)

它不是JavaScript技术,而是* nix OS。它被称为shebang。引自维基

  

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

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

cat.js

而不是

node cat.js