Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过package.json创建模块_Javascript_Node.js - Fatal编程技术网

Javascript 通过package.json创建模块

Javascript 通过package.json创建模块,javascript,node.js,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”您不应该手动编辑节点\u模块文件夹中的任何内容。该文件夹由npm软件包管理器管理,它可能会覆盖您的更改 如果您只想需要一个文件,只

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

在node_modules\npm\node_modules中,我创建了包含2个文件的文件夹myx package.json

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

console.log('lib');
我运行服务器

require('myx');
错误:
找不到模块“myx”

您不应该手动编辑节点\u模块文件夹中的任何内容。该文件夹由npm软件包管理器管理,它可能会覆盖您的更改

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

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

  • 为您的模块创建一个新文件夹–例如myx
  • 在该文件夹中运行
    npm init
    。它将帮助您创建package.json文件
  • 创建js文件
  • 现在,您可以使用完全限定的路径从其他项目中
    要求您的模块。比如说,

    require('/home/me/myx');
    
    节点使用其属性来确定将从myx文件夹中加载哪个js文件

    以这种方式加载模块对于开发和测试来说很好,但是您可能希望将模块安装到您的项目中(就像其他模块一样)

    幸运的是,npm支持。在项目文件夹中,运行:

    npm install /home/me/myx
    
    npm将把模块安装到项目的node_模块中,这意味着您可以

    require('myx');
    

    npm用于共享模块,您可能只想创建一个新文件
    myx.js
    用代码填充它,然后在另一个文件中执行
    require('./myx.js')