我正在编写一些节点命令行实用程序.他们都从这条线开始:
#!/usr/bin/env node
Run Code Online (Sandbox Code Playgroud)
使用Eclipse Juno和Nodeclipse Node.js插件,这行代码会产生错误,如下所示:

好的,所以#不是javascript中的有效注释字符,但它是Linux/UNIX中的有效字符,作为文件中第一行的shebang.但是如何设置Eclipse以忽略此错误?这对我来说是一个问题,因为如果您有错误,代码格式化将不起作用.我必须删除该行.点击CTRL-SHIFT-F并添加回来.
我尝试了很多东西并研究过,但我找不到答案.
有一个重复的问题,在hashbang线上eclipse javascript语法错误,但我的问题有更多的信息.
看起来有一些东西添加到jshint以允许第一行中的shebangs.也许我需要更新我的node-eclipse,或者node-eclipse项目可能需要更新jshint?
我升级到了
这没有用.
这是我在eclipse中的JSHint版本:

感谢VonC的回答.但我认为这表明我的文件中没有BOM.还有其他想法吗?
$ od -N 20 -t x1 hello.js
0000000 23 21 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 6e
0000020 6f 64 65 0a
0000024
Run Code Online (Sandbox Code Playgroud)
关于Paul Verest在下面的回答,我试图关闭JSDT验证,但我似乎无法做到这一点.我取消选中"启用JavaScript语义验证"(在Eclipse中,请参阅"窗口">"首选项">"JavaScript">"验证程序">"错误/警告"),但问题仍然存在.
我现在正在卸载Eclipse Web Developer Tools 3.4.2.这似乎没有帮助,现在我的CSS和HTML编辑器已经消失了.现在我已经尝试通过遵循这个SO问题中的一些想法来禁用JSDT验证,如何从我的eclipse项目中删除javascript验证?.
所以我进入了我的项目属性并转到了JavaScript> Validation.我已将所有内容设置为"启用项目特定设置"并取消选中"错误/警告","JSDOC"等.即便如此,我认为验证仍在运行,因为问题仍然存在!我的"Builders"属性仅列出已启用的"JSHint Problem …
我是javascript编程的新手.我有一个任务来编写一个运行一些input.json的.js文件.我应该这样运行它:
./name.js input.json
Run Code Online (Sandbox Code Playgroud)
如何在此过程中合并node.js以及如何让终端接受该脚本?
谢谢!
编辑:我解决了我的问题!无论如何,由于规则,我无法回答我自己的问题......
#!/usr/bin/env node
var fs = require('fs');
args = []
process.argv.forEach(function (val, index, array)
{
args.push(val);
});
var file = fs.readFileSync(args[2], "UTF-8", function (err, data)
{
if (err) throw err;
});
Run Code Online (Sandbox Code Playgroud)
这基本上就是我做的.我花了一些时间搜索和组合我从不同帖子找到的东西,并让它工作 - 也许这不是最好的方式,但它的工作原理.这将我的.json文件存储到文件变量中,然后我将其作为函数参数传递到其他地方.感谢大家.
一个简单的问题:是否可以配置Geany IDE,以便可以使用"运行"按钮直接从Geany运行Node.js服务器?