modern.js icon indicating copy to clipboard operation
modern.js copied to clipboard

[RFC]: 新建项目依赖优化,以及关于非 BFF 的 api server generate

Open StringKe opened this issue 3 years ago • 2 comments

这个功能解决了什么问题?

问题

  1. 目前,创建的项目后会包含 react 一些依赖,比如如何创建独立的 api server
  2. 项目中没有明确包含 eslint 依赖,在 webstorm 中如没有明确依赖会出现错误提示 (package.json.handlebars 尝试自己贡献一下代码发现修改 package.json.handlebars 后没有作用)
  3. nest api service BFF 强制要求 lambda 文件夹,但文件夹本身可以为空 (飞书中咨询了这个问题,官方给予了答复,但我觉得这里还是处理一下,采用框架方式进行开发,遵守 lambda 的开发模式应该是可选的)
  4. 使用 monorepo 方式创建项目且使用 yarn 作为包管理时要求存在命令 lerna,如果没有这个会异常中断,(建议文档更新一下)
  5. 使用 monorepo 方式创建项目且使用 pnpm 时会出现 ERR_PNPM_PEER_DEP_ISSUES  Unmet peer dependencies 错误

代码贡献问题

  1. 当拉去整体 modren.js 项目下来,初次安装会出现一些包无法编译的问题 (目前我通过下方这个脚本进行修正)
#!/bin/bash
pnpm install
cd packages/generator/generator-common
pnpm prepare
cd ../../../
cd packages/generator/generator-utils
pnpm prepare
cd ../../../
cd packages/cli/plugin-i18n
pnpm prepare
cd ../../../cd
cd packages/cli/plugin-fast-refresh
pnpm prepare
cd ../../../
pnpm install
  1. modern.js 内有大量的包封装,但没有大概说明这些包做什么,想进行贡献难度较大,比如 codesmith 独立于 modren.js ,且没有相关文档

非 BFF 的 api server generate

CleanShot 2022-05-12 at 14 41 07@2x

目前没有关于创建独立的 nodejs 后端 template,比如采用 modren.js 的 monorepo 方式进行项目管理,使用 nestjs 的 微服务后端架构

你期望的 API 是什么样子的?

...

StringKe avatar May 12 '22 06:05 StringKe

  1. 问题一会处理的,会提供一个 API 服务的生成器插件,而不是类似文档中,需要删除 src 目录的方式。
  2. 问题二 @xuchaobei 看看呢
  3. 问题三目前 lambda 目录是作为区分 BFF 函数写法和 框架写法的约定,如何处理需要考虑下,暂时优先级不高。
  4. 问题四欢迎提 PR 贡献呀,所有 Modernjs 的文档在根目录下的 website 目录。
  5. 问题五在持续处理中

yimingjfe avatar May 13 '22 09:05 yimingjfe

问题2. 对 WebStorm 支持做的还不够,后续会加强。

感谢建议~

xuchaobei avatar May 18 '22 12:05 xuchaobei

这个 issue 比较久了,其中的问题大部分已经得到解决或过时,先 close 咯,如果还有反馈可以新建一个 issue~

chenjiahan avatar Mar 16 '23 09:03 chenjiahan