出于特殊原因,我想在两个文件夹web
(反应应用)和mobile
之间共享package.json文件:
▸ mobile/
▸ node_modules/
▾ web/
▸ public/
▸ src/
README.md
package-lock.json
package.json
yarn.lock
在我的package.json文件中,我添加了这个:
脚本下的"web-start": "react-scripts start",
。但是,当我在根文件夹(/Users/edmund/Documents/src/banana-client
)中运行它时,我得到了这个:
➜ banana-client git:(master) ✗ yarn web-start
yarn web-start v0.24.6
$ react-scripts start web
Could not find a required file.
Name: index.html
Searched in: /Users/edmund/Documents/src/banana-client/public
error Command failed with exit code 1.
有没有办法可以添加根目录?
答案 0 :(得分:0)
对于此特定用例,建议您继续使用Yarn工作区。
使用Yarn工作区,您可以在一个存储库中拥有多个项目,这些项目的根级别为main package.json文件,项目共享,而项目级别的package.json不共享和单独使用。
运行yarn install
将在根级别安装所有依赖项,如果您不希望在根目录安装某些软件包,则可以配置。
您可以在根目录中包含脚本,以帮助您在该工作区中运行内部项目。
因此您的最终项目结构将如下所示:
- project_root
- web
- node_modules
- package.json
- mobile
- node_modules
- package.json
- node_modules
- package.json
在此处了解有关Yarn工作区的更多信息:https://yarnpkg.com/lang/en/docs/workspaces/
在此处查看此示例以了解其基本用法: https://github.com/pedronauck/yarn-workspaces-example
答案 1 :(得分:0)
我同意Yarn工作区可以帮助您实现所追求的目标。否则,必须在appIndexJs
包中的/src/index.js
中设置config/paths.js
(设置为react-scripts
)的配置时弹出。弹出后,您可以修改config/paths.js
变量appIndexJs
以适应变化的appIndex。
答案 2 :(得分:-1)
添加此替代方法可以为我解决相同的问题:
"web-start": "cd web && react-scripts start"