什么是 npm init 中的“入口点”

Posted

技术标签:

【中文标题】什么是 npm init 中的“入口点”【英文标题】:What is "entry point" in npm init 【发布时间】:2015-12-24 08:12:24 【问题描述】:

我有一个空的新项目,当我运行 npm init 时,我得到了一个要回答的问题列表,例如:

name: (karma)
version: (1.0.0)
description:my project description
entry point: (index.js)

我真的对“入口点”的说法感到困惑,这应该是我的 index.html 文件还是我的 app.js 还是别的什么?

【问题讨论】:

【参考方案1】:

引用此blog post:

Entry point是消费者会调用​​的javascript文件 你的模块“需要”它,这个文件将包括主要逻辑 您的模块,或者如果它是一个大模块,您可以导出公共 与其他文件一起找到的函数(通常在 lib 目录中)

所以它应该是你的app.js 文件。

【讨论】:

@leezor,那么我们是否需要在特定模块文件夹中手动添加 index.js 或 app.js 或者它会在执行 npm 命令时创建? 当我们有一个不应该被其他存储库使用的私有存储库时,当我们谈论一个简单的单个项目时,我们应该在入口点指定什么?或者如何让它空着? @giovannipds,只需删除main 键并将private 标志设置为true。你应该很好。【参考方案2】:

对于任何项目,入口点是开始执行的文件。这取决于我们使用的技术的项目配置和运行时环境。

示例:对于 node.js 项目,app.js 用于初始化应用程序并将所有内容粘合在一起。

【讨论】:

@Mahesh,那么我们是否需要在特定模块文件夹中手动添加 index.js 或 app.js 或者它会在执行 npm 命令时创建? 是的。如果您使用 express 生成器创建 node.js 项目。它将使用一些基本项目模板自行创建 app.js。使用 npm install express-generator -g 创建项目。【参考方案3】:

入口点是您的用户将使用 index.js 访问的路径,以便能够访问您模块的完整视图和服务,如果您不知道自己在做什么,我宁愿保持原样。

【讨论】:

以上是关于什么是 npm init 中的“入口点”的主要内容,如果未能解决你的问题,请参考以下文章

C#提示不只定义了一个入口点,请使用/main进行编译以指定包含入口点的类型

C# 入口点类修饰符

如何在 package.json 中有多个入口点?

Servlet的程序入口点是哪个方法()?

应用引擎入口点的目的是啥?

找不到 Python 入口点“console_scripts”