nx

发布于: 7/25/2022 阅读大约需要1分钟

nx 不做包管理,推荐搭配其他nomorepo包管理工具进行使用。 比如 lerna, yarn/pnpm/npm workspace

构建TS项目

  1. 使用nx脚手架进行初始化项目
npx create-nx-workspace --preset=ts
  1. 生成子项目
# 库项目, 可以指定compiler为swc, 不指定则默认tsc
nx generate @nrwl/js:lib --name=xxx --buildable --compiler=swc --publishable

Plugins

@nrwl/js

用于在Nx workspace中生成JS或TS项目

@nrwl/js:library(别名: lib)

生成指令: generate @nrwl/js:library [name] [options,...]
支持参数

option默认值解释
--name库名称
--directory库存放文件夹位置
--lintereslint使用的代码校验工具, eslint或者 none
--unitTestRunnerjest单元测试运行器, jestnone
--tags为项目添加tag,用于后期运行代码校验
--skipFormat不格式化文件
--skipTsConfig不更新tsconfig.json文件
--includeBabelRc包含一个.babelrc配置文件
--testEnvironmentjsdom单元测试运行器环境, jsdomnodenone
--importPath其他项目引用该库所用的名称,比如 @howe/mylib
-P使用首字母大写的文件命名方式
--js生成.js文件代替 .ts文件
--stricttrue启用tsconfig严格模式
--publishable是否生成可发布的库
--buildable是否生成可构建的库
--setParaserOptionsProject是否配置ESLint的 paraserOptions.project选项
--configproject项目执行器是否应该被配置在workspace.json
--skipTypeCheck是否跳过TS类型校验(用于SWC解析器)

@nrwl/js:convert-to-swc

用于将 TSC 项目转换为 SWC 项目
generate @nrwl/js:convert-to-swc [project] [options,...]

问题

nx build 依赖管理有问题,生成的package.json 会多依赖或缺依赖导致程序运行缺包.
无法构建出我们想要的package.json依赖结构

相关链接