英镑符号(#)是否在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技术?
发布于 2014-01-10 05:42:33
这不是一种JavaScript技术,而是一种*nix OS技术。它被称为shebang。引用Wiki
在类似Unix的操作系统下,当带有shebang的脚本作为程序运行时,程序加载器将脚本的其余部分作为解释器指令进行解析;指定的解释器程序将作为参数传递给它,将最初尝试运行脚本时使用的路径传递给它。
因此,cat.js文件可以像可执行文件一样在shell中执行(如果它具有可执行权限)。
cat.js而不是
node cat.jshttps://stackoverflow.com/questions/21036928
复制相似问题