有什么区别:
npm install [package_name] --save
和
npm install [package_name] --save-dev
这是什么意思?
用create-react-app和运行创建新项目后yarn eject.
我的package.json的依赖项部分如下所示:
"dependencies": {
"autoprefixer": "7.1.1",
"babel-core": "6.25.0",
"babel-eslint": "7.2.3",
"babel-jest": "20.0.3",
"babel-loader": "7.0.0",
"babel-preset-react-app": "^3.0.1",
"babel-runtime": "6.23.0",
etc.
Run Code Online (Sandbox Code Playgroud)
我会说这些都是devDependencies为什么create-react-app将它们放在这里?
我使用 create-react-app 创建了一个 react-typescript 项目。我看到 package.json 如下所示:
"dependencies": {
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.4.0",
"@testing-library/user-event": "^7.2.1",
"@types/jest": "^24.9.1",
"@types/node": "^12.12.26",
"@types/react": "^16.9.19",
"@types/react-dom": "^16.9.5",
"react": "^16.12.0",
"react-dom": "^16.12.0",
"react-scripts": "3.3.1",
"typescript": "^3.7.5"
},
Run Code Online (Sandbox Code Playgroud)
*
没有 dev-dependencies 部分,为什么它将 typescript(和 @types)放在 dependencies 部分?不仅如此,官方的 create-react-app 页面也会安装没有 -D/save-dev 标志的类型/打字稿。如果消费者在使用我的包时可能会依赖某些类型作为重复问题的建议,为什么这种行为不是每个地方都默认?我在这里缺少什么?官方文档中没有提到这一点。甚至打字稿文档将其安装为 save-dev。 https://www.typescriptlang.org/docs/handbook/react-&-webpack.html
dependencies typescript reactjs package.json create-react-app
package.json中的打字稿声明应该放在“ dependencies”,“ devDependencies”中还是放在这两者中?基于一些基本的谷歌搜索,我想我已经看到了将打字稿声明放在任何位置的参考。对于声明应同时位于“ dependencies”和“ devDependencies”中的方案,package.json结构是否支持共享部分?或者,如果开发人员认为这两种情况都需要,那么是否只是要求他在两个位置都复制声明?
我注意到在几乎所有关于 typescript 的教程或博客文章中,人们只是通过 npm 安装类型和/或 typescript 相关模块的软件包作为依赖项。这是与编译时相关的事情,最终用户永远不必加载它,所以对我来说,从逻辑上讲,这应该都是 impl 的。详细信息,然后转到 package.json 的 devDependecies 部分。我假设我遗漏了一些东西,并且想要紧凑而合理的答案:)
我正在创建一个我打算发布到 NPM 的包。我正在用打字稿编写包,并将我的 tsconfig 文件设置为与已编译的 javascript 一起发出打字稿声明文件,以便其他使用打字稿的人可以在他们的 IDE 中获得正确的类型信息 - 非常标准。我正在使用某些绝对类型包,但不确定它们应该是什么依赖类型。如果有人在打字稿项目中使用我的包,我的声明文件将需要安装相关的 @types 包,但如果他们使用 javascript,则不需要安装这些包。我认为 @types 包应该在我的包的 package.json 文件的 optionalDependencies 中。这样对吗?
typescript ×4
dependencies ×2
node.js ×2
npm ×2
package.json ×2
reactjs ×2
angular ×1
javascript ×1
json ×1
package ×1
save ×1