摘要:概述本篇文章承接上文,記錄的的配置和命令的詳細(xì)說明。的配置說明項(xiàng)目名稱,的時(shí)候就是使用這個(gè)。案例說明版本號,符合的版本規(guī)范的版本號,默認(rèn)從開始。
0x000 概述
本篇文章承接上文,記錄的package.json的配置和npm命令的詳細(xì)說明。
0x001 package.json的配置
name:
說明:項(xiàng)目名稱,npm install的時(shí)候就是使用這個(gè)name。
案例:lodash、@followwinter/lodash
version:
說明:版本號,符合npm的版本規(guī)范的版本號,默認(rèn)從1.0.0開始。
案例:1.0.0,2.0.1
description :
說明:項(xiàng)目的簡介,如果不寫會(huì)默認(rèn)讀去README.md的第一樣作為npmjs搜索時(shí)候的簡介
案例:這是一個(gè)好項(xiàng)目
keywords:
說明:關(guān)鍵詞
案例:lodash、js
homepage:
說明:項(xiàng)目主頁
案例:http://lodashjs.com/
license:
說明:協(xié)議
案例:BSD-3-Clause
main:
說明:模塊ID
案例:如果你的模塊名為foo,如果一個(gè)用戶使用require("foo"),就會(huì)返回一個(gè)你export出來的主對象。例如之前我們export一個(gè)printMsg,我們直接@followwinter/0x007-local-global-diff1就得到了一個(gè)對象,是因?yàn)槲覀冎付?b>@followwinter/0x007-local-global-diff1中的package.json的mian為index。js。
// @followwinter/0x007-local-global-diff1/package.json { "name": "@followwinter/0x007-local-global-diff1", "version": "1.0.2", "description": "", "main": "index.js", "scripts": { "test": "echo "Error: no test specified" && exit 1" }, "author": "", "license": "ISC" } // @followwinter/0x008-local-global-diff2/index.js var myModule = require("@followwinter/0x007-local-global-diff1"); console.log(myModule); myModule.printMsg();
dependencies:
說明:項(xiàng)目的依賴庫
version: 必須等于該版本
>version:必須大于該版本
>=version: 必須大于等于該版本
<=version: 必須小于等于該版本
~version: 大約等于該版本
^version: 和該版本可兼容的版本
1.2.x:1.2.* 版本
http://...:http地址
*:任意版本
"":任意版本
version1 - version2: 在version1到version2之間,包含version1和version2
range1 || range2:在范圍1或者范圍2之間
git...:git地址
user/repo:user/repo地址
tag: 該tag的版本
path/path/path 本地地址
案例:
{ "dependencies" : { "foo" : "1.0.0 - 2.9999.9999" , "bar" : ">=1.0.2 <2.1.2" , "baz" : ">1.0.2 <=2.3.4" , "boo" : "2.0.1" , "qux" : "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0" , "asd" : "http://asdf.com/asdf.tar.gz" , "til" : "~1.2" , "elf" : "~1.2.3" , "two" : "2.x" , "thr" : "3.3.x" , "lat" : "latest" , "dyl" : "file:../dyl" } }
特殊說明
git地址格式:
git地址示例:
git+ssh://[email protected]:npm/npm.git#v1.0.27 git+ssh://[email protected]:npm/npm#semver:^5.0 git+https://[email protected]/npm/npm.git git://github.com/npm/npm.git#v1.0.27 //現(xiàn)在還可以直接這么寫 { "name": "foo", "version": "0.0.0", "dependencies": { "express": "expressjs/express", "mocha": "mochajs/mocha#4727d357ea", "module": "user/repo#feature/branch" } }
本地地址
../foo/bar ~/foo/bar ./foo/bar /foo/bar // 以下寫法更優(yōu)
{
"name": "baz",
"dependencies": {
"bar": "file:../foo/bar"
}
}
devDependencies:
說明:開發(fā)依賴
案例:同上
bin:
說明:可執(zhí)行目錄
案例:
//`npm installl -g`的時(shí)候回將`cli.js`復(fù)制到`/usr/local/bin/myapp`,就可以使用`myapp`作為命令了,比如`webpack` { "bin" : { "myapp" : "./cli.js" } }
scripts:
說明:自定義命令,也可以覆蓋自定義命令
默認(rèn)值:
"start": "node server.js":執(zhí)行server.js
"install": "node-gyp rebuild":安裝依賴
自定義指令:
"test":"jtest", "build":"npm install && npm test && npm publish --access public"
執(zhí)行自定義指令:
如果是覆蓋默認(rèn)指令,直接使用默認(rèn)指令便可,比如npm install、npm start,如果是自定義指令,則需要使用npm run
version:版本
npm version [| major | minor | patch | premajor | preminor | prepatch | prerelease | from-git] "npm [-v | --version]" 查看`npm`版本 "npm view version" 查看某個(gè)包的版本 "npm ls" 列出當(dāng)前依賴的包
cache:緩存
"npm cache clean []" 清除緩存 aliases: npm cache clear, npm cache rm
dedupe:重構(gòu)
"npm dedupe" 重新整理依賴包架構(gòu) "npm ddp" aliases: find-dupes, ddp // 執(zhí)行前 +-- b <-- depends on [email protected] | `-- [email protected] `-- d <-- depends on c@~1.0.9 `-- [email protected] //執(zhí)行后 +-- b +-- d `-- [email protected]
init:初始化
npm init [-f|--force|-y|--yes] 加了參數(shù)就不會(huì)提示任何信息了
install:安裝
npm install (with no args, in package dir) npm install [<@scope>/]npm install [<@scope>/] @ npm install [<@scope>/] @ npm install [<@scope>/] @ npm install : / npm install npm install npm install npm install alias: npm i common options: [-P|--save-prod|-D|--save-dev|-O|--save-optional] [-E|--save-exact] [-B|--save-bundle] [--no-save] [--dry-run]
upinstall:卸載
npm uninstall [<@scope>/][@ ]... [-S|--save|-D|--save-dev|-O|--save-optional|--no-save] aliases: remove, rm, r, un, unlink
update:更新
npm update [-g] [...] aliases: up, upgrade
publish:發(fā)布
npm publish [| ] [--tag ] [--access ] Publishes "." if no argument supplied Sets tag "latest" if no --tag specified
unpublish:取消發(fā)布
npm unpublish [<@scope>/][@ ]
whoami:包所屬
npm whoami [--registry]
dist-tag:加tag
npm dist-tag add@ [ ] npm dist-tag rm npm dist-tag ls [ ] aliases: dist-tags
config:設(shè)置配置
npm config set[-g|--global] npm config get npm config delete npm config list [-l] npm config edit npm get npm set [-g|--global] aliases: c
adduser:添加用戶
npm adduser [--registry=url] [--scope=@orgname] [--always-auth] [--auth-type=legacy] aliases: login, add-user
logout:退出用戶
npm logout [--registry=0x003 總結(jié)] [--scope=<@scope>]
多看官方文檔才是王道,知道如何找到自己想找的資料才是真正的辦法,死命去記是沒有辦法的。
0x004 資源項(xiàng)目github
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/88525.html
摘要:引用并執(zhí)行如果安裝出錯(cuò),比如寫錯(cuò)了包名,將會(huì)發(fā)生以下事情命令行報(bào)錯(cuò)使用可以自己新建一個(gè)文件編寫也可以直接使用來初始化一個(gè)該命令是一個(gè)交互式命令,可以根據(jù)提示輸入相應(yīng)信息生成相應(yīng)的,命令提示后面的中為提示內(nèi)容,可以選擇一路,然后再去修改。 0x001 概述 npm是一個(gè)包管理工具,本文章基本算是對官方文檔的解讀、翻譯和實(shí)操筆記,順便說明使用npm中的坑。 0x002 安裝Node.js ...
摘要:如何選擇就如果上面所有,需要打包進(jìn)生產(chǎn)環(huán)境就保存到,只是在開發(fā)或者打包的時(shí)候使用的就保存到即可。提示不能發(fā)布當(dāng)前版本解決方案不能發(fā)布已經(jīng)發(fā)布的版本,修改一下版本號就可以了想不到了,想到了再寫資源項(xiàng)目 0x001 概述 本篇文章承接上文,記錄的是一些使用過程中的疑惑 0x001 墻的原因使得包下載太慢 解決方案:使用淘寶cnpm,推薦使用cnpm,因?yàn)槿绻薷膎pm倉庫,將會(huì)導(dǎo)致無法發(fā)布...
摘要:概述本篇文章承接上文,記錄的和版本在包管理方面的異同,基于閱讀官方原文整理簡化。此時(shí)的文件夾如下所示包的復(fù)制和取消復(fù)制假設(shè)我們有一個(gè)項(xiàng)目依賴添加依賴依賴,此時(shí)添加依賴依賴,此時(shí)升級依賴依賴,此時(shí)升級依賴依賴,此時(shí)執(zhí)行查看文件夾資源項(xiàng)目 0x000 概述 本篇文章承接上文,記錄的v2和v3版本在包管理方面的異同,基于閱讀官方原文整理簡化。 0x001 v2管理方式 假設(shè)有模塊A、B、C,...
摘要:概述本篇文章承接上文,記錄的是如何發(fā)布自己的模塊編寫模塊新建項(xiàng)目并初始化編寫模塊代碼發(fā)布模塊測試模塊命名空間每個(gè)人都可以發(fā)布自己的包,難免會(huì)有包名相同的情況,如果想要使 0x001 概述 本篇文章承接上文,記錄的是如何發(fā)布自己的Node.js模塊 0x002 編寫模塊 新建項(xiàng)目并初始化 $ mkdir 0x005-publish-own-module $ cd 0x005-publis...
摘要:最近剛剛學(xué)習(xí)了一個(gè)的開發(fā)框架,最重要的是可以用開發(fā)傳送門以下是學(xué)習(xí)過程中的筆記上面時(shí)全局安裝完成后用檢查是否成功創(chuàng)建了一個(gè)名為的項(xiàng)目,然后進(jìn)入目錄,安裝依賴,啟動(dòng)項(xiàng)目,瀏覽器打開就可以看到頁面了。 最近剛剛學(xué)習(xí)了thinkjs--一個(gè)node的MVC開發(fā)框架,最重要的是可以用es6/es7開發(fā)【傳送門】 以下是學(xué)習(xí)過程中的筆記: npm install thinkjs@2 -g --v...
閱讀 943·2023-04-26 02:16
閱讀 1240·2019-08-30 15:55
閱讀 2810·2019-08-30 15:53
閱讀 3412·2019-08-29 15:38
閱讀 2921·2019-08-29 13:42
閱讀 2005·2019-08-26 13:34
閱讀 1868·2019-08-26 10:10
閱讀 3100·2019-08-23 14:40