我非常了解如何开发新模块。
在node_modules \ npm \ node_modules中我用2个文件创建文件夹 myx 的的package.json
{
"name" : "some",
"main" : "lib.js"
}
lib.js
console.log('lib');
我运行服务器
require('myx');
错误: 找不到模块'myx'
答案 0 :(得分:2)
您永远不应手动编辑node_modules文件夹中的任何内容。该文件夹由npm包管理器管理,它可能会覆盖您的更改。
如果您只想require
个文件,只需将该文件放入应用的文件夹中,然后使用合格的文件系统路径,例如require('./myx')
。
如果您想创建一个新的模块,您将在多个项目中使用和/或发布到公共npm注册表:
npm init
。它将帮助您创建package.json文件。现在,您可以使用完全限定的路径require
来自其他项目的模块。例如,
require('/home/me/myx');
Node使用其file loading rules来确定将加载myx文件夹中的哪个js文件。
以这种方式加载模块适用于开发和测试,但您可能希望将模块安装到项目中(就像其他模块一样)。
幸运的是,npm支持installing from sources other than the registry。在项目文件夹中,运行:
npm install /home/me/myx
npm会将模块安装到项目的node_modules中,这意味着你可以
require('myx');