如何在没有节点的情况下在命令行上执行javascript [关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在没有节点的情况下在命令行上执行javascript [关闭]相关的知识,希望对你有一定的参考价值。

我是脚本新手,我试图弄清楚是否可以在javascript编写的命令行上运行脚本,只需键入“./script-name arg1 arg2”即可。我想使用Javascript,因为arg2是一个JSON文件,但如果我需要以更精确的方式调用脚本,我可以更改为另一种语言。有任何想法吗?

编辑:我已经查看了问题here,但没有一个解决方案使用“./script-name”运行脚本,就像我想要的那样。

答案

Node.js尊重shbang系列历史悠久的unix传统。因此,要使node.js脚本的行为类似于常规可执行程序,您需要做的就是将其添加为第一行:

#! /usr/bin/env node

从技术上讲,这不运行节点,而是运行env命令(在所有unixen上都可用),然后找到node.js的安装位置并运行它。这使得您的脚本可以跨多个发行版(ubuntu,redhat等)移植,并且可以跨越不同的unix(Linux,MacOS,BSD等)。

然后你只需要让你的脚本可执行:

chmod +x your-script.js

然而,在Windows上,它变得有点复杂。但是,npm具有内置功能,可以将脚本转换为正确的命令,因此您甚至不需要这样做:

./your-script.js

你可以这样做:

your-script

你需要做的就是:

  1. 将shbang行添加到脚本中。
  2. 如果在unix上做chmod +x的事情。
  3. 将您的脚本转换为npm项目(如果还没有npm项目),将其放入自己的文件夹,然后在该文件夹中运行npm init(这将创建一个package.json文件)
  4. 编辑package.json文件并添加bin属性 "bin" : { "your-script" : "./your-script.js" }
  5. 在目录中运行npm link

以上是关于如何在没有节点的情况下在命令行上执行javascript [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有jQuery的情况下在javascript中执行php文件

如何在没有重复的情况下在 hive 中执行 LEFT OUTER JOIN 以仅检查右表中的一个值?

如何在没有意外匹配的情况下在 PHP 中的字符串中查找整个单词?

如何在 Windows 命令行上测量命令的执行时间?

MariaDB 安装时没有密码提示

如何在没有 MapReduce 的情况下在 HBase 中进行分布式更新