当前位置: 首页 > 面试题库 >

是否可以在不调用`node`的情况下运行Node.js脚本?

晋涛
2023-03-14
问题内容

我喜欢javascript,所以当我听说基于V8的Javascript运行时Node.js时,我感到非常兴奋。我更喜欢用Javascript编写外壳脚本。我的问题是:如何在不调用的情况下运行脚本node ~/Scripts/myscript.js?在chmod +x我编写完脚本之后,它会尝试作为bash脚本而不是Node.js
javascript运行。


问题答案:

使您当前的外壳开始bash的原因是您当前的外壳(bash?)不知道如何处理file.js。因此,Unix的众神为以下目的发明了Shebang:

当字符序列作为文本文件第一行中的前两个字符出现时,由字符数字符号和感叹号(#!)组成的字符序列。在这种情况下,类Unix操作系统中的程序加载器将第一行的其余部分解析为解释器指令,并使用指定为参数的任何命令行选项调用在字符序列之后指定的程序。

所以,在您的情况下,我会尽量

 #!/usr/bin/env node

在脚本的顶部。您可以看到例如在“ inode”(交互式node.js)shell中应用了beeing,这可能是触发脚本的另一种选择。

https://github.com/bancek/node-interactive-
shell/blob/master/inode.js



 类似资料:
  • 问题内容: 如果要使用Linq-SQL,还必须将DB Table拖到设计器表面以创建实体类。 我一直喜欢我的应用程序中的完全控制权,并且不喜欢dotnet创建的类。 是否可以使用我自己的数据访问层实体类在Linq和DB之间提供此连接? 我该如何完成? 问题答案: 您可以使用Linq-to-SQL非常轻松地编写自己的类-只需使用一些属性绘制类即可。 例如,这是我的一个项目中有一个非常简单的表,它可以

  • 问题内容: 我正在评估JOOQ是否可在仍在开发中的新系统中使用。我想避免在与应用程序一起开发数据库时生成代码,而只是为该应用程序起持久存储的作用。因此,预计数据库模式定义将由Java代码(java中的表定义)驱动。 JOOQ是否适合上述用例?是否有用于模式定义的Java DSL? 问题答案: JOOQ是否适合上述用例? 是的,许多jOOQ用户仅使用运行时库,而没有代码生成器。入门指南中提供了示例。

  • 我正在评估JOOQ在一个仍在开发中的新系统中的使用情况。当数据库与应用程序一起开发时,我希望避免代码生成,而只是在这个应用程序中扮演持久存储的角色。因此,数据库模式定义应该由Java代码(Java中的表定义)驱动。 JOOQ是否适用于上述用例?是否有用于模式定义的JavaDSL?

  • 问题内容: 是否可以在不完全禁用JavaScript的情况下禁用AJAX? 问题答案: 如果您使用的是Firefox,则可以使用GreaseMonkey完成此操作。(https://addons.mozilla.org/en- US/firefox/addon/748 ) GM是用于将脚本应用于您访问的部分或全部页面的框架。我有禁用google- analytics下载的GM脚本(因为它们会使速度

  • 问题内容: 我写了一些要在其他计算机上运行的.py文件。目标机器未安装python,因此我无法通过策略“安装”它。我所能做的就是复制文件,运行我的东西,然后将其删除。 我试图将开发python文件夹移至目标计算机,将cd移至python文件夹并运行。它给我一个错误,指出未注册python.dll。如果我注册了DLL,这可能会使我跨过“违反政策”行。 无论如何,我是否可以在没有实际安装python的

  • HttpServletRequest请求,HttpServletResponse响应 但是在典型的JSF项目中,我根本没有看到这些类的使用,相反,我看到的只是托管bean和Facelet页面。 但是,在web.xml中,我看到: