2013-11-14 57 views
0

我非常不理解如何开发我的新模块。通过package.json创建模块

在node_modules \故宫\ node_modules我创建的文件夹MYX有2个文件 的package.json

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

lib.js

console.log('lib'); 

我运行服务器

require('myx'); 

错误: 找不到模块'myx'

+1

NPM是为共享的模块,你可能只想创建一个新文件'myx.js'使用代码填充它,然后在另一个文件中使用'require('./ myx.js')'; – jeremy

回答

2

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

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

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

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

您现在可以使用完全合格的路径从其他项目中将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');