如果不使用 Next.js 或 T3 Stack 这样的全栈框架,仅用最朴素的 React + Express + TS ,项目的结构与各类配置(package.json/tsconfig/eslint 等等)怎样配置最合理且优雅?

  1. 配 tsconfig 的时候,因为共享部分的代码需要同时跑在浏览器和 Node 上,targetmoduleResolution 之类的应该怎么配呢?
  2. 在前后端分别引入共享代码的时候,是把共享部分单独打包成 npm 包,然后各自作为项目依赖引入?还是直接通过相对路径引入呢?相对路径的话,有些嵌套特别深的地方,会有很长一串 ../../,想通过 paths 配别名,但这个配置不影响运行时行为,Node 下会不识别引入路径,该如何解决呢?
  3. 前端可以用 Vite  构建,后端也需要用 bundler 吗?还是直接跑编译后的 js 文件即可?
举报· 412 次点击
登录 注册 站外分享
3 条回复  
sjhhjx0122 小成 4 小时前
直接用 pnpm 吧
xiejay97 初学 4 小时前
试试 Nx 吧 https://nx.dev/
kunkunzhang 小成 4 小时前
后端应该不需要,bundle 浪费时间而已
9ki 小成 3 小时前
1. 配置多个 tsconfig.json, 理论上你可以在项目根目录创建一个 tsconfig.json, 在业务模块 'extend' 它 2. 共享代码独立在单独的目录, 通过 package.json 的 main 属性指定入口, 然后通过 `@scope/module` 的形式引入在其他业务模块 3. 后端不需要 bundler
superhot 楼主 小成 3 小时前
@9ki > 通过 `@scope/module` 的形式引入在其他业务模块 那就是需要提前打包成 npm 包并发布到 registry 才行了是吗?
9ki 小成 3 小时前
@superhot 搜索引擎搜搜 monorepo example github
返回顶部