“在哪里?”;计划;一些bash脚本在启动Node.JS之前需要的模块?
我今天发现了一个Bash脚本,它使用env命令来启动Node.JS。该脚本需要两个包,然后在启动节点之前使用第二个包解析流程命令行参数,如下所示:“在哪里?”;计划;一些bash脚本在启动Node.JS之前需要的模块?,node.js,bash,require,environment,Node.js,Bash,Require,Environment,我今天发现了一个Bash脚本,它使用env命令来启动Node.JS。该脚本需要两个包,然后在启动节点之前使用第二个包解析流程命令行参数,如下所示: #! /usr/bin/env node 'use strict'; require('zos-lib').Logger.silent(false); require('./program').parse(process.argv); 在我的文件系统中找不到名为“”./program“的模块/包。有人能告诉我程序模块/包在哪里以及它的作用吗?我尝
#! /usr/bin/env node
'use strict';
require('zos-lib').Logger.silent(false);
require('./program').parse(process.argv);
在我的文件系统中找不到名为“”./program“的模块/包。有人能告诉我程序模块/包在哪里以及它的作用吗?我尝试了很多谷歌搜索,但不幸的是,这个程序是一个如此常见的关键字,我没有发现任何有用的东西
更新:斯莱贝特曼的答案是正确的。我想解释为什么我在这个更新中找不到程序模块,以防它对其他人有帮助。当我读到他关于该脚本是Javascript脚本的回答并查找program.js而不是program时,我通过使用以下命令从顶级Node.js目录搜索目录树找到了它:
$ find . -iname program.js
不幸的是,您在下面看到的是我第一次尝试的内容,但没有产生任何输出:
$ find . -iname program
找到的脚本不是bash脚本。这是一个javascript脚本。具体来说,它是一个用javascript为node.js编写的脚本 在节点的
require
系统中,以/
开头的模块名称表示该模块与脚本位于同一文件夹中
您还没有告诉我们您发布的脚本的文件名。但是让我们假设它被称为myscript.js
。那么文件夹结构应该是:
/whatever/folder/myscript.js
/whatever/folder/program.js
或
或
如果您无法在与正在查看的脚本相同的文件夹中找到文件
program.js
或文件夹program
,则说明您没有正确复制脚本(您忘记复制“program”文件或文件夹)。谢谢!成功了。请看我的更新我的答案,这解释了为什么我找不到任何东西,直到我阅读你的答复。还有一点困惑。shebang行在Javascript文件中做什么?再加上加载脚本的名称肯定是“zos”,而不是“zos.js”,这确实让事情变得一团糟。
/whatever/folder/myscript.js
/whatever/folder/program/index.js
/whatever/folder/myscript.js
/whatever/folder/program/package.json
/whatever/folder/program/whatever_script_name.js