听起来,你想做的是打包你本地的my-module
这样它就可以像安装和使用 npm 注册表中的包一样使用.
当您进行本地开发时,可以轻松配置依赖项以将模块引用为文件路径 - 尽管您需要转换打字稿才能使其在您的情况下工作。
这是我用于本地开发的方法,在一个环境中,我们有许多用于微服务架构的实用程序模块。我将模块打包到存档中并使用安装它npm install
:
- Use npm pack https://docs.npmjs.com/cli/v7/commands/npm-pack将模块打包成
.tgz
. Our package.json
定义要打包的目标目录,以及build
脚本执行到目标的转译(显然根据您的需要进行调整):
...
"main": "dist/index.js",
"types": "dist/index.d.ts",
"files": [
"dist"
],
"scripts": {
"build": "npx babel src --out-dir dist --extensions .ts,.tsx,.js --ignore **/*.test.ts,**/*.test.tsx",
...
- Run
npm pack
并将生成的包安装到您的应用程序中
/my-module/> npm pack
/my-module/> cd ../my-app
/my-app/> npm install --save ../my-module/my-module-0.0.1.tgz
或者作为一个多合一(构建tgz
in my-app
dir):
/my-app/> && npm pack ../my-module && npm i -s my-module-0.0.1.tgz
完成开发后,您可能希望以可在部署时供项目使用的方式发布模块。
您的选择大致如下:
- 使用发布到您的本地系统
npm link
- 发布到私有注册表
- 发布到 npm 注册表(作为公共或私有模块)
以下是这些选项的好资源:https://medium.com/@debshish.pal/publish-a-npm-package-locally-for-testing-9a00015eb9fd https://medium.com/@debshish.pal/publish-a-npm-package-locally-for-testing-9a00015eb9fd