nestjs - 在 nx 构建/部署上生成 package.json
问题描述
我有一个使用 nx 和多个 node/nestjs 应用程序的 monorepo。某些应用程序不需要其他应用程序中使用的所有包。因为它是一个 monorepo,所以我需要在部署期间为每个应用程序安装所有包。
有没有办法在构建时生成一个 package.json,它只包含我正在构建的应用程序所需的包?
我尝试使用“generate-package-json-webpack-plugin”来生成 package.json,但它只检测到一半的依赖项。
我还尝试构建一个包含所有应用程序的单个 js 文件,但它似乎不起作用并且总是需要 tslib。
解决方案
在我查看 nx 源代码后,我找到了答案。
设置在where 。generatePackageJson
_true
workspace.json
<project-name>/targets/build/options
这将为您生成 package.json 并为您的应用程序提供必要的依赖项。
这里的例子:
"node-api": {
"root": "apps/node-api",
"sourceRoot": "apps/node-api/src",
"projectType": "application",
"prefix": "node-api",
"targets": {
"build": {
"executor": "@nrwl/node:build",
"outputs": ["{options.outputPath}"],
"options": {
"showCircularDependencies": false,
"outputPath": "dist/apps/node-api",
"main": "apps/node-api/src/main.ts",
"tsConfig": "apps/node-api/tsconfig.app.json",
"assets": ["apps/node-api/src/assets"],
"generatePackageJson": true <----------------------
},
....
推荐阅读
- spring-mvc - spring mock MVC,现在得到正确的错误消息 MethodArgumentNotValidExceptionis throwis
- apache-spark - 我的哪个 Databricks 笔记本使用集群节点?
- javascript - Javascript 不能用 async 和 promise 覆盖 window.confirm
- java - 关于 Project Reactor 的 flatMap 中的线程的困惑
- android-studio - java - Android Studio build.gradle:无法解决:com.android.support:appcompat-v7:8
- r - 删除列标签的背景颜色,同时保持绘图背景颜色 ggpairs
- c# - .net 框架 (WPF) 引用的依赖关系
- c# - ASP.NET / WCF / IIS 中静态变量的范围是什么?
- macos - 如何使用父文件夹中的数据批量“触摸”子文件夹中的文件
- node.js - POST 请求适用于 Postman 但不适用于 JS