npm 包管理器npm is a package manager that comes bundled with Node. Contrary to popular belief npm is not an acronym. According to the npm FAQ It provides an easy way to install modules for your Application, including all required dependencies. Node relies on the package.json specification for package configuration. It's common to use npm to pull in all of your project's open source JAVAScript requirements on the server-side, but there is also a movement forming to use npm to pull in open-source dependencies for the client-side, as well.
npm 是一款包管理器,随 Node 捆绑发布 。人们普遍以为 npm 是一个首字母缩写词,但其实不是 。据 npm 的 FAQ 所说,它提供了一种简易的方式来为你的应用程序安装模块,并且包括所有必要的依赖模块 。Node 依靠 package.json 规约来进行包的配置 。在服务器端 JavaScript 项目中,使用 npm 来拖入所需的开源依赖库是很普遍的做法;但最近也有人开始把它用于客户端项目 。
(译注:好吧,八卦一下 。npm 实际上就是“Node Package Manager”的缩写,没有第二种含义,你不用怀疑自己的智商 。只不过 npm 官方的这些人否认了这一点,并且强调这个词应该全小写,具体可以参见 npm 的 FAQ,看起来很二很扯淡 。不过实际上背景是这样的,软件业内有一股另类风气,就是开发者很热衷于把自己的软件名解释为一个很扯的递归缩写,比如 LAME 就声称自己是“Lame Aint an MP3 Encoder”的缩写,可是地球人都知道你丫就是啊!又比如 GNU 声称“GNU's Not Unix”,一定要与 UNIX 划清界限,等等等等 。于是,npm 官方的这群奇异动物借自己的项目对此吐槽了一把 。你可能注意到了,本文作者也提到了“npm 的 FAQ”这个梗 。)
Directives指令npm has a number of well documented directives, but for the purposes of this book, you'll only need to know the ones you'll commonly need to modify in order to get your typical app up and running:
npm 有很多指令,相关文档也很详尽,不过对本书来说,只需要向你介绍其中最常修改的那些指令,就足以让一个常规应用跑起来了:
- name - The name of the package.
- version - Package version number. npm modules must use semantic versioning.
- author - Some information about the author.
- description - A short description of the package.
- keywords - Search terms to help users find the package.
- main - The path of the main package file.
- scripts - A list of scripts to expose to npm. Most projects should define a "test" script that runs with the command npm test. Use it to execute your unit tests.
- repository - The location of the package repository.
- dependencies, bundledDependencies - Dependencies your package will require().
- devDependencies - A list of dependencies that developers will need in order to contribute.
- engines - Specifies which version of Node to use.
- name - 包的名称 。
- version - 包的版本号 。npm 模块必须使用语义化版本管理方式 。
- author - 有关作者的信息 。
- description - 包的简要描述 。
- keywords - 可以帮助用户找到这个包的搜索关键词 。
- main - 包的主文件的所在路径 。
- scripts - 需要暴露给 npm 的脚本的清单 。大多数项目应该定义一个 "test" 脚本,可以通过 npm test 命令来运行 。用这个命令来执行单元测试 。
- repository - 包的代码仓库所在的位置 。
- dependencies, bundledDependencies - 你的包需要 require() 的依赖库清单 。
- devDependencies - 开发者所需要的依赖库清单,以便他们贡献代码 。
- engines - 指定适用的 Node 版本 。
如果你想构建一个 Node 应用,首先要做的事情就是创建一个服务器 。有一个最简单的方法,就是使用 Express,它是一个精简的 Node 应用程序框架 。在开始之前,你应该优先考虑最新的版本 。当你读到这里的时候,本书使用的版本应该已经不是最新版了 。
$ npm info express
3.0.0rc5
Now you can add it to your `package.json` file:现在你可以把它加入到你的 `package.json` 文件中:Example 5-1. `package.json`示例 5-1. `package.json````js{ "name": "simple-express-static-server", "version": "0.1.0", "author": "Sandro Padin", "description": "A very simple static file server. For development use only.", "keywords": ["http", "web server", "static server"], "main": "./server.js", "scripts": { "start": "node ./server.js" }, "repository": { "type": "git", "url": "https://github.com/spadin/simple-express-static-server.git" }, "dependencies": { "express": "3.0.x" }, "engines": { "node": ">=0.6" }}
推荐阅读
- 「香兰教程」千层百叠薄如纸的手抓饼,五种口味任你选,香味扑鼻
- 化妆水|越敷越干?「3日湿敷法」的4个常见错误
- 「前端架构」React,Angular和Vue:哪一个最好,为什么
- WordPress Html5 视频播放器插件 PLYR「亲测好用」
- DNS即域名系统怎样工作?看这位“翻译官”如何转换域名和IP地址
- 算法一看就懂之「 堆栈 」
- WhatsApp「全套」使用攻略,让你一次性玩转它
- Tik tok 国际版抖音 支持切换中文翻译
- 「积碳」到底怎么清洗?那就拆个发动机来解释吧
- 翻译|社会人要懂得阅读空气、听懂潜台词!「你能力很好=那就多做点事」超直白职场翻译年糕上菜