Egg: 项目结构能否改为 packages形式

Created on 20 Mar 2018  ·  2Comments  ·  Source: eggjs/egg


类似于 babel,create-react-app 这样的目录结构,开发起来更容易点
例如

├── CONTRIBUTING.md
├── CONTRIBUTING.zh-CN.md
├── History.md
├── LICENSE
├── README.md
├── README.zh-CN.md
├── appveyor.yml
├── lerna.json
├── package.json
├── packages
│   ├── egg
│   ├── egg-bin
│   ├── egg-core
│   └── egg-logger
├── scripts
│   ├── commits.sh
│   ├── deploy_key.enc
│   └── doc_travis.sh
├── yarn-error.log
└── yarn.lock

Most helpful comment

后者的话,在 lerna 3.4.0 (yarn + workspaces), 用 lerna run dev --scope application 的方式不能正常启动应用,因为yarn 将node_modules提升到了根目录下,而egg-utils寻找framework只在packages/application/node_modules下面寻找。

如果在application/package.json 里面给 egg.framework设置为相对路径,那么 egg 其他的插件无法正常找到,比如 egg-onerror

目前只能用 npm 配合 lerna 来做。

All 2 comments

你指的是 egg 自己,还是你的 egg 应用?

前者的话,我们没计划合并仓库,现在这样分开挺好的。
后者的话,你自己处理就好了。lerna 只是 package 的管理而已,跟用不用 egg 关系不大,一种代码组织方式而已。

后者的话,在 lerna 3.4.0 (yarn + workspaces), 用 lerna run dev --scope application 的方式不能正常启动应用,因为yarn 将node_modules提升到了根目录下,而egg-utils寻找framework只在packages/application/node_modules下面寻找。

如果在application/package.json 里面给 egg.framework设置为相对路径,那么 egg 其他的插件无法正常找到,比如 egg-onerror

目前只能用 npm 配合 lerna 来做。

Was this page helpful?
0 / 5 - 0 ratings

Related issues

popomore picture popomore  ·  3Comments

dizhifeng picture dizhifeng  ·  3Comments

wujianling picture wujianling  ·  3Comments

kylezhang picture kylezhang  ·  3Comments

skyyangpeng picture skyyangpeng  ·  3Comments