在Node.js开发中,你可以使用npm(Node.js包管理器)来创建、管理和分享模块和包。如果您需要在多个项目中分享公共代码包,则可以使用npm来创建和管理这些公共包。
以下是一些步骤,来创建本地公用包:
- 创建代码包
在你的本地文件夹中创建一个新的文件夹,作为你的代码包的根目录。在这个文件夹中,你将创建用于存储代码和描述文件的子文件夹和文件。
mkdir my-package
cd my-package
- 初始化代码包
使用npm init
命令来初始化你的代码包。在执行此命令时会问你一些问题,例如名称、版本、描述等。你需要根据实际情况回答这些问题。
npm init
- 编写代码
在你的代码包子文件夹下,你可以编写你的代码。你可以在你的代码包中任意组织和分配你的代码。
- 将代码包作为本地依赖项安装到其他项目
在你的另一个Node.js项目中,你可以使用以下命令来安装你的代码包作为一个本地依赖项。
npm install /path/to/your-package --save
运行此命令将你的代码包安装到您的项目node_modules
目录下,并将其添加到你的package.json
依赖项中。这样,你就可以在你的项目中引用你的代码包。
const myPackage = require('my-package');
这是一个简单的方法,您可以使用npm创建并管理本地公用包。
那么,那你知道package.json里面会发生什么改变吗?
根据上述步骤在项目中安装你的本地公用包后,package.json
文件会发生以下改变:
dependencies
字段将会包含你的本地包作为一个依赖项。
"dependencies": {
"my-package": "file:/path/to/your/package"
}
这告诉npm在你的项目中,需要安装并使用这个本地包。
package-lock.json
文件将被更新。
当您添加一个本地包到您的项目中,npm将更新package-lock.json
文件,以记录包的版本和依赖关系。
- 目录中会生成
node_modules
文件夹,并包含您的本地包。
在你安装了本地包后,npm将会在你的项目中创建一个node_modules
文件夹,并将您的本地包放入其中。这样,您的本地包就可以供项目使用了。
那么,本地开发的公用包发生改变更新,其他项目需要重新npm install才会使用最新的共用包代码吗?
一般情况是不需要的,因为本地开发库使用了软链接,实际使用的目录是软链接指向的目录,就是本地的开发目录。
如果公共包发生更改后不生效,那就在您的本地公共包发生更改后,其他项目需要重新使用npm install
安装最新的共享包代码,才能使用您的更改。这是因为每个项目的依赖项是在项目初始化和安装期间确定的,如果您在本地公共包中进行更改,那么其他项目中已经安装的包将不会自动更新。因此,当您更新本地公共包时,您应该确保任何依赖于该包的项目,并在使用新版本代码之前,使用npm install
来安装该更新的版本。
如果您的项目依赖于远程公共包,例如从npm仓库中下载的包,则使用npm update
可以方便地更新到最新版本的公共包。但是,对于本地公共包,您需要手动更新,并在每个受影响的项目中重新安装该包。