命令"node ."是什么意思?

38

我的Node服务器的README文档指引我在命令行中运行这个命令。

node .

这个命令是做什么的?它如何启动我的节点服务器?

我的 package.json 内容为:

{
  "name": "uber-api",
  "version": "1.0.0",
  "description": "Move your app forward with the Uber API",
  "main": "index.js",
  "keywords": [
    "swagger"
  ],
  "license": "MIT",
  "private": true,
  "dependencies": {
    "connect": "^3.2.0",
    "js-yaml": "^3.3.0",
    "swagger-tools": "0.9.*"
  }
}

1
它会在您的项目目录中查找 server.js 文件,并启动您的应用程序。 - Subburaj
1
@Subburaj 我的项目目录中没有 server.js 文件。 - Rogen George
@RogenGeorge:你真的在node后面提供了一个参数吗?还是那个点(.)是你误打的? - Jitendra Pancholi
5
在Unix中,“.”(点号)表示当前目录。因此,它将执行给定目录中的默认文件(index.js)。 - aarosil
1
@aarosil 对不起,您所说的“默认文件”是什么意思? - Rogen George
是的,我指的是@RogenGeorge回答中提到的默认文件。只是想让你知道.的含义,以防你不知道 :) - aarosil
1个回答

63
默认情况下,Node.js会尝试加载一个位于你传递给它作为参数的文件夹中的模块( . - 当前文件夹的bash变量)。然后运行在该文件夹中找到的 package.json 文件中 "main" 部分中编写的任何内容。在你的情况下,它将尝试运行 node ./index.js
文档:https://docs.npmjs.com/files/package.json#main @djechlin 的好观点是:如果在文件夹中没有找到 package.json 或者没有 "main" 部分,则 Node.js 将尝试运行你传递的特定文件夹中的 index.js 文件。

6
如果package.json没有指定,我认为index.js是默认的。 - djechlin
1
你是正确的djechilin。index.js是许多事情的默认文件,例如React中的导入语句。 - Saras Arya
1
在一个回环项目中,它会自动运行 server/server.js!那是如何工作的? - Sethunath K M
@Sethunath 检查 package.json 中的 main 值。它应该是 "main": "server/server.js",这就是 loopback 的工作原理。 - Iurii Tkachenko
1
@YuriTkachenko 谢谢您的澄清。 - Sethunath K M

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接