目录
1、创建package.json文件
1.1 fields 字段
1.2 Author 字段
1.3 创建 package.json 文件
1.4 自定义 package.json 的问题
1.5 从当前目录提取的默认值
1.6 通过init命令设置配置选项
2、创建Node.js 模块
2.1 创建一个package.json 文件
2.2 创建在另一个应用程序需要模块时将加载的文件
2.3 测试模块
3、关于包的 README 文件
3.1 创建README.md文件并将其添加到包中
3.2 更新现有包README文件
4、创建和发布无作用域的公共包
4.1 创建无作用域的公共包
4.2 检查包裹内容是否包含敏感或不必要的信息
4.3 测试您的软件包
4.4 发布无作用域的公共包
1、创建package.json文件
您可以将package.json
文件添加到您的软件包中,以便于其他人管理和安装。发布到注册表的包必须包含package.json
文件。
package.json
文件:
- 列出了项目的所有依赖项
- 指定包的版本以及语义控制规则
- 使您的构建具有重复性,因此更容易与其他开发者共享
注意:为了自己的发布的包,能够更容易的在npm官网上找到,建议最好还是在package.json文件中的description字段添加对应的描述信息。
1.1 fields 字段
package.json
文件必须包含"name"
和"version"
字段。
"name"
字段包含包的名称,必须是小写字母,并且可以包含连字符和下划线。
"version"
字段必须采用x.x.x
格式,并遵循语义版本控制指南。
1.2 Author 字段
如果要在"author"
字段中包含软件包作者信息,请使用以下格式(电子邮件和网站都是可选的):
Your Name <email@example.com> (http://example.com)
示例:
{"name": "test_a","version": "1.0.0","description": "this is test package","main": "read_file.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1","start": "nodemon read_file"},"author": "zhouxxx<724518201@qq.com>(spacebox.blog.csdn.net) ","license": "ISC","devDependencies": {}
}
1.3 创建 package.json 文件
可以通过CLI命令交互式来创建默认的 package.json 文件。
1、我们可以先创建一个目录,然后再进入该目录
mkdir package
cd /Users/zhou/package
2、运行一下命令:
npm init
3、根据提示,输入对应字段的信息,然后回车进入下一步。
如果创建的 package.json 所有字段,都设置为默认,可以添加参数:--yes
npm init --yes
1.4 自定义 package.json 的问题
1、在主目录中,创建一个名为.npm-init.js
的文件。
2、要添加自定义问题,请使用文本编辑器,使用prompt
函数添加问题:
module.exports = prompt("what's your favorite flavor of ice cream, buddy?", "I LIKE THEM ALL");
3、要添加自定义字段,请使用文本编辑器将所需字段添加到.npm-init.js
文件:
module.exports = {customField: 'Example custom field',otherCustomField: 'This example field is really cool'
}
1.5 从当前目录提取的默认值
name
: 当前目录名version
: 默认1.0.0
description
: 来自README的信息,或空字符串""
scripts
: 默认创建空test
脚本keywords
:空author
:空license
: ISCbugs
: 当前目录中的信息(如果存在)homepage
: 当前目录中的信息(如果存在)
1.6 通过init命令设置配置选项
您可以为init命令设置默认配置选项。例如,要设置默认作者电子邮件、作者姓名和许可证,请在命令行上运行以下命令:
> npm set init-author-email "example-user@example.com"
> npm set init-author-name "example_user"
> npm set init-license "MIT"
2、创建Node.js 模块
2.1 创建一个package.json 文件
1、创建一个package.json 文件,在命令行中,切换到根目录或者 Node.js 模块,运行 npm init
- 对于作用域模块作用域模块作用域模块,运行
npm init --scope=@scope-name
- 对于未限定作用域的模块未限定作用域的模块未限定作用域的模块,请运行
npm init
2、
为必填字段提供响应(name 和 version)以及main 属性
- name: 模块的名字
- version: 初始模块版本,建议遵循语义版本控制指南,从1.0.0开始
2.2 创建在另一个应用程序需要模块时将加载的文件
在文件中,添加一个函数作为exports
对象的属性。这将使该函数对其他代码可用:
exports.isarray = function(arr) {let toString = {}.toString();return toString.call(arr) === '[object Array]';
}
2.3 测试模块
1、发布你的包到npm
- 对于私有包和无作用域包,使用 npm publish
- 对于作用域的公共包,使用 npm publish --access pulic
2、在命令行中,在项目目录之外创建一个新的测试目录。
mkdir test-directory
3、切换到新目录
cd /path/to/test-directory
4、在test目录中,安装模块:
npm install <your-module-name>
5、在test目录中,创建一个test.js
文件,它需要您的模块并将模块作为方法调用。
6、在命令行上,运行node test.js
。应显示发送到console.log的消息。
3、关于包的 README 文件
为了帮助其他人在npm上找到你的包,并在他们的项目中使用你的代码,我们建议在你的包目录中包含一个README文件。您的README文件可能包括安装、配置和使用软件包中代码的说明,以及用户可能发现有帮助的任何其他信息。README文件将显示在软件包页面上。
npm包的README文件必须位于包的根目录下。
3.1 创建README.md文件并将其添加到包中
1、在文本编辑器中,在包根目录中创建一个名为README.md
的文件。
2、在README.md
文件中,添加有关软件包的有用信息。
3、保存README.md
文件。
注意:.md 文件表示Markdown 文件
3.2 更新现有包README文件
README文件仅在发布新版本的软件包时在软件包页面上更新。要更新自述文件:
1、在文本编辑器中,更新README.md
文件的内容。
2、保存 README.md 文件
3、在命令行中,切换到根目录中运行如下命令:
npm version patch
npm publish
4、创建和发布无作用域的公共包
作为npm用户,您可以创建未作用域的包,用于您自己的项目,并将其发布到npm公共注册表,供其他人在他们的项目中使用。无作用域的包始终是公共的,并且仅由包名引用:
package-name
有关包作用域、访问和可见性的详细信息,请参阅 npm 包和模块简介
注意:在发布公共的非作用域npm包之前,您必须注册一个npm用户帐户。
4.1 创建无作用域的公共包
1、在命令行上,为您的包创建一个目录:
mkdir my-test-package
2、切换到包的根目录:
cd my-test-package
3、如果你使用git来管理你的包代码,在包根目录下,运行以下命令,将git-remote-url
替换为你的包的git远程URL:
git init
git remote add origin git://git-remote-url
4、在软件包根目录中,运行npm init
命令。
5、根据响应提示生成 package.json 文件。
6、创建一个README文件
,解释包代码是什么以及如何使用它。
4.2 检查包裹内容是否包含敏感或不必要的信息
将敏感信息发布到注册表可能会伤害用户、损害开发基础结构、修复成本高昂,并使您面临法律的诉讼的风险。我们强烈建议在将您的包发布到注册表之前删除敏感信息,例如私钥、密码、个人身份信息
(PII)和信用卡数据。
对于不太敏感的信息,如测试数据,请使用.npmignore
或.gitignore
文件来防止发布到npm注册表。
4.3 测试您的软件包
为了减少发布bug的可能性,我们建议在将包发布到npm注册表之前对其进行测试。要测试您的包,请使用包目录的完整路径运行npm install
:
npm install path/to/my-package
4.4 发布无作用域的公共包
1、在命令行中,切换到包的根目录。
cd /path/to/package
2、要将公共包发布到npm注册表,请运行:
npm publish
注意:如果您使用GitHub Actions发布包,则可以为您发布的每个包生成出处信息。有关详细信息
3、要查看您的公共包页面,请访问https://npmjs.com/package/* package-name
,将package-name* 替换为您的包的名称。公共包在npm网站上的包名下面会显示public
。
4、测试
运行命令 npm install jiang-isarray
npm install jiang-isarray
新建文件 test.js ,内容如下:
var isArray = require('jiang-isarray')
console.log(isArray);
console.log(isArray([1,2,3,4,5])) // true
console.log(isArray({})) // false