通过package.json创建模块

时间:2013-11-14 20:03:17

标签: javascript node.js

我非常了解如何开发新模块。

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

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

lib.js

console.log('lib');

我运行服务器

require('myx');

错误: 找不到模块'myx'

1 个答案:

答案 0 :(得分:2)

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

如果您只想require个文件,只需将该文件放入应用的文件夹中,然后使用合格的文件系统路径,例如require('./myx')

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

  1. 为您的模块创建一个新文件夹 - 例如 myx
  2. 在该文件夹中运行npm init。它将帮助您创建package.json文件。
  3. 创建您的js文件。
  4. 现在,您可以使用完全限定的路径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');
    
相关问题