假设我将一个客户端文件夹和一个后端文件夹放在一个存储库中并推送到 git。每个客户端和后端都有自己的package.json。但根文件夹有自己的包 JSON。我这样做的原因是我有一些客户端和后端存储库通用的预提交挂钩。对于开发人员来说,将存储库推送到根目录是有意义的,然后预提交挂钩就会发生。因此,我正在考虑将预提交挂钩放在 package.json 文件的公共根中。我可以按照下面的项目结构做吗?
RootFolder
- client
- package.json
- backend
- package.json
package.json
后端包.JSON:
{
"name": "backend",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"start": "set NODE_ENV=development && src/app.js",
},
"author": "",
"license": "ISC",
"dependencies": {},
"devDependencies": {},
}
客户端包中.JSON:
{
"name": "client",
"version": "1.0.0",
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"dependencies": {},
}
在根文件夹中,package.JSON 是这样的:
{
"name": "root",
"version": "1.0.0",
"description": "",
"scripts": {}, //should be empty
"author": "",
"license": "ISC",
"dependencies": {},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"*/src/**/*.{js,ts}": [
"prettier --write",
"eslint --cache --fix"
]
}
}
这对我有用
"scripts": {
"start": "npm-run-all --parallel watch:server start:web",
"start:web": "react-scripts start",
"start:server": "node src/server",
"watch:server": "nodemon --watch src/server src/server",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
}
必须安装npm-run-all