我分别创建了一个基于express的后端(在文件夹A中)和一个相关的基于react的前端项目(在文件夹B中)。现在我把 B 放在 A 里面有以下好处:
我不再需要将文件从前端构建复制到服务器项目,因为
A/server.js
可以直接从A/B/build
提供文件。无需担心跨源请求错误。
它们看起来像一个项目,并且在 GitHub 中更易于管理。 但是我可以从文件夹 A 运行
npm run buildjs
,而它实际上在文件夹 B 中运行 npm run build
吗?我想这与 npm run-script 的使用有很大关系。这可以使用
--prefix <path>
来完成。来自文件夹 A:
npm run --prefix ./B build
您可以将以下内容添加到
A/package.json
:
{
...
"scripts": {
"buildjs": "npm run --prefix ./B build"
},
...
}
我注意到你也可以使用
--prefix
上去。例如:
npm run --prefix ../ build:frontend
唯一的缺点是你不能使用
-- <args>
合成器传递参数。
cross origin
问题,因为您将 front-end
作为静态文件提供。或者至少 cross origin
问题应该解决它