使用npm打包javascript项目,并将其划分为节点模块来创建一个依赖树

Package javascript project using npm and dividing it up into node modules to create a dependency tree

本文关键字:创建 模块 依赖 一个 节点 项目 javascript 打包 npm 划分 使用      更新时间:2023-09-26

我有一个javascript项目,在另一个项目中用作实用程序,我想使用npm打包它,以便更多的项目可以使用它。我创建的项目结构是:

<>之前项目/| - - - src/——main.js| |——index.js|| |——extensions/| |——core-1.js| | |——……| |——core .js——other-1.js| | |——……| |——other- n.j.| |之前

主文件创建一个对象,其中包含扩展使用的一些实用程序函数。js文件从extensions和main中获取所有对象和函数,并将其放入单个命名空间中导出。我想要的是当任何人安装这个节点模块时,他们应该能够使用主文件和核心扩展中的实用程序。如果他们想要使用其他扩展,他们应该能够显式地要求其他扩展。为其他依赖于主项目的扩展创建单独的节点项目是好主意吗?还是NPM或node提供了其他方式来实现这一点?

当你做require("<your-module>")时,node.js默认在package.jsonindex.js中加载main属性中提到的文件。有一种方法可以从特定包中加载单个文件。只需将文件路径附加在模块名后面,并加上斜杠。

在您的示例中,扩展可以像这样单独加载

var u1 = require("Project/src/extensions/other-1");
var u2 = require("Project/src/extensions/other-2");

只有other-1other-2扩展将分别加载到变量u1u2中。

您应该确保在index.jsmain.js中加载适当的文件。

下面是一个示例节点模块https://github.com/juzerali/require-demo

你应该尝试安装项目作为一个节点模块,并尝试玩它来了解它是如何工作的