为啥我们需要使用 package.json? [复制]

Posted

技术标签:

【中文标题】为啥我们需要使用 package.json? [复制]【英文标题】:Why do we need to use package.json? [duplicate]为什么我们需要使用 package.json? [复制] 【发布时间】:2015-08-27 17:40:33 【问题描述】:

我正在尝试使用 javascript 学习 Web 套接字到这个 site,但我不明白为什么我需要使用 package.json。这是我的 package.json 文件代码:

`
  "name": "module-name",
  "version": "10.3.1",
  "description": "An example module to illustrate the usage of a package.json",
  "author": "Your Name <you.name@example.org>",
  "contributors": [
  "name": "Foo Bar",
  "email": "foo.bar@example.com"
],
  "bin": 
  "module-name": "./bin/module-name"
,
  "scripts": 
    "test": "vows --spec --isolate",
    "start": "node index.js",
    "predeploy": "echo im about to deploy",
    "postdeploy": "echo ive deployed",
    "prepublish": "coffee --bare --compile --output lib/foo src/foo/*.coffee"
  ,
  "main": "lib/foo.js",
  "repository": 
  "type": "git",
  "url": "https://github.com/nodejitsu/browsenpm.org"
,
  "bugs": 
  "url": "https://github.com/nodejitsu/browsenpm.org/issues"
,
  "keywords": [
  "nodejitsu",
  "example",
  "browsenpm"
],
  "dependencies": 
    "primus": "*",
    "async": "~0.8.0",
    "express": "4.2.x",
    "winston": "git://github.com/flatiron/winston#master",
    "bigpipe": "bigpipe/pagelet",
    "plates": "https://github.com/flatiron/plates/tarball/master"
  ,
  "devDependencies": 
    "vows": "^0.7.0",
    "assume": "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0",
    "pre-commit": "*"
  ,
  "preferGlobal": true,
  "private": true,
  "publishConfig": 
  "registry": "https://your-private-hosted-npm.registry.nodejitsu.com"
,
  "subdomain": "foobar",
  "analyze": true,
  "license": "MIT"
` 

但我不明白为什么我需要使用它。我试图在谷歌上找到,但找不到有用的东西。还有一件事,如果我创建 package.json 那么为什么我需要编写 dependencies

【问题讨论】:

这应该会有所帮助:docs.nodejitsu.com/articles/getting-started/npm/… 依赖关系使得如果你把它带到另一台机器或服务器上,你确切地知道让它运行需要什么。 我投票结束这个问题,因为它不是一个特定的编程问题,而是一个超出 *** 范围的教育请求 【参考方案1】:

您不需要 package.json。但是,您很可能会想要它。当您使用 node.js 制作更大的应用程序时,您会发现使用其他人的代码是最好的解决方案,而不是自己编写相同的东西。

npm 有很多人们想要反复使用的软件包。 package.json 为人们提供了一种简单的方法来跟踪他们在应用程序中使用的包。

【讨论】:

以上是关于为啥我们需要使用 package.json? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

为啥 `npm install` 会为同一个 `package.json` 文件生成不同的 `package-lock.json` 文件?

为啥我的项目同时有 package-lock.json 和 yarn.lock 文件?

为啥不通过 package.json 安装 webpack 二进制文件?

为啥我可以将脚本添加到 package.json 中的脚本? [关闭]

为啥 npm 试图在错误的目录中找到 package.json?

如果 `redux` 不在 package.json 或 package-lock.json 或 node_modules 中,为啥从 'redux' 导入任何东西仍然有效?