在阅读了一堆关于这个问题的文章并遵循这篇非常有用的文章之后:What's the Difference Between dependency, devDependencies and peerDependencies in npm package.json file?
我知道依赖项应该引用每个运行时库,而 devDependency 引用每个对开发依赖项有用的东西。
但我现在很困惑。对于生产用途,我将需要ng build --production我的 Angular 应用程序。如果我这样做npm install --production,我什至无法编译ng build --production。我需要安装npm install每个 devDependency。知道这一点后,我尝试将所有内容都放在 devDependency 下,然后我做了一个ng build --prod,生成的[dist]文件夹包含所需的所有内容,并且可以作为完整的角度应用程序。
所以,第一个问题是:除了在运行时库和开发库之间进行“纸上”区别之外,为什么我应该使用依赖项?
其他问题:为了避免依赖项的依赖项上的漏洞,我可以通过将此库放入 package.json 中来强制使用特定版本(只要主要版本相同)。但我想避免将此库放在依赖项或 devDependency 中,我应该将此库放在 peerDependency 下吗?可选依赖项 ? 捆绑依赖关系 ?
感谢您对此的任何意见。
编辑
需要示例 package.json:
{
"name": "ANGULAR_PROJECT",
"version": "X.Y.Z",
"repository": {
"type": "git",
"url": "A_GIT_URL"
},
"scripts": {
"ng": "ng",
"test": "ng test",
"e2e": …Run Code Online (Sandbox Code Playgroud)