我非常不理解如何开发我的新模块。通过package.json创建模块
在node_modules \故宫\ node_modules我创建的文件夹MYX有2个文件 的package.json
{
"name" : "some",
"main" : "lib.js"
}
lib.js
console.log('lib');
我运行服务器
require('myx');
错误: 找不到模块'myx'
我非常不理解如何开发我的新模块。通过package.json创建模块
在node_modules \故宫\ node_modules我创建的文件夹MYX有2个文件 的package.json
{
"name" : "some",
"main" : "lib.js"
}
lib.js
console.log('lib');
我运行服务器
require('myx');
错误: 找不到模块'myx'
您不应该手动编辑node_modules文件夹内的任何内容。该文件夹由npm软件包管理器管理,并可能会覆盖您的更改。
如果您只想要require
文件,只需将该文件放在应用程序的文件夹中,并使用合格的文件系统路径,如require('./myx')
。
如果你想创建一个新的模块您将在多个项目中使用和/或发布到公共NPM注册表:
npm init
。它会帮助你创建一个package.json文件。您现在可以使用完全合格的路径从其他项目中将require
模块。例如,
require('/home/me/myx');
节点使用其file loading rules准确地确定哪个js文件从文件夹MYX将加载。
以这种方式加载模块对于开发和测试来说是很好的,但您可能想要将模块安装到您的项目中(就像其他模块一样)。
幸运的是,npm支持installing from sources other than the registry。在项目文件夹,运行:
npm install /home/me/myx
NPM将安装模块项目的node_modules,这意味着你可以
require('myx');
NPM是为共享的模块,你可能只想创建一个新文件'myx.js'使用代码填充它,然后在另一个文件中使用'require('./ myx.js')'; – jeremy