0

我非常不明白如何开发我的新模块。

在 node_modules\npm\node_modules 我用 2 个文件 package.json创建文件夹myx

{ 
"name" : "some", 
"main" : "lib.js" 
}

lib.js

console.log('lib');

我运行服务器

require('myx');

错误:找不到模块“myx”

4

1 回答 1

2

您永远不应该手动编辑 node_modules 文件夹中的任何内容。该文件夹由 npm 包管理器管理,它可能会覆盖您的更改。

如果您只是想要require一个文件,只需将文件放在应用程序的文件夹中并使用合格的文件系统路径,例如require('./myx').

如果您想创建一个将在多个项目中使用和/或发布到公共 npm 注册表的新模块:

  1. 为您的模块创建一个新文件夹——例如myx
  2. 在该文件夹中运行npm init。它将帮助您创建一个 package.json 文件。
  3. 创建你的 js 文件。

您现在可以require使用完全限定的路径从其他项目中获取您的模块。例如,

require('/home/me/myx');

Node 使用其文件加载规则来确定将加载 myx 文件夹中的哪个 js 文件。

以这种方式加载模块非常适合开发和测试,但您可能希望将模块安装到您的项目中(就像其他模块一样)。

幸运的是,npm 支持从注册表以外的源安装。在您的项目文件夹中,运行:

npm install /home/me/myx

npm 会将模块安装到您项目的 node_modules 中,这意味着您可以

require('myx');
于 2013-11-14T20:34:45.860 回答