我正在努力处理根 git 存储库中的多个 npm 包,并使用自定义开发脚本来处理启动、编译、构建等。现在我遇到了 npm 工作区,并想在我的以下项目结构中使用这个令人惊叹的新功能,但我无法让它工作:
projectx (root)
- package.json
- apps
-- backend
-- src
-- package.json (name: @projectx/backend, scripts: "dev":"ts-node or whatever")
-- common
-- src
-- package.json (name: @projectx/common)
-- frontend
-- src
-- package.json (name: @projectx/frontend, scripts: "dev":"webpack")
我的根 package.json 包含:
{
"name": "packagex",
"version": "1.0.0",
"description": "",
"main": "index.js",
"private": "true",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"back:dev": "npm workspace @projectx/backend dev",
"front:dev": "npm workspace @projectx/frontend dev",
"dev": "run-p back:dev front:dev"
},
"workspaces": [
"apps/*"
],
"repository": {
"type": "git",
"url": "git_url"
},
"author": "me",
"license": "ISC",
"devDependencies": {
"npm-run-all": "^4.1.5"
}
}
现在我想使用 npm-run-all 和 root 上的命令: npm run dev 启动后端和前端,结果是:
我还想与后端和前端共享公共包,在这种情况下这应该是可能的。也许其他人也面临着同样的问题,或者知道我在这里做错了什么。