摘要:概述本篇文章承接上文,記錄的的配置和命令的詳細說明。的配置說明項目名稱,的時候就是使用這個。案例說明版本號,符合的版本規范的版本號,默認從開始。
0x000 概述
本篇文章承接上文,記錄的package.json的配置和npm命令的詳細說明。
0x001 package.json的配置
name:
說明:項目名稱,npm install的時候就是使用這個name。
案例:lodash、@followwinter/lodash
version:
說明:版本號,符合npm的版本規范的版本號,默認從1.0.0開始。
案例:1.0.0,2.0.1
description :
說明:項目的簡介,如果不寫會默認讀去README.md的第一樣作為npmjs搜索時候的簡介
案例:這是一個好項目
keywords:
說明:關鍵詞
案例:lodash、js
homepage:
說明:項目主頁
案例:http://lodashjs.com/
license:
說明:協議
案例:BSD-3-Clause
main:
說明:模塊ID
案例:如果你的模塊名為foo,如果一個用戶使用require("foo"),就會返回一個你export出來的主對象。例如之前我們export一個printMsg,我們直接@followwinter/0x007-local-global-diff1就得到了一個對象,是因為我們指定了@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:
說明:項目的依賴庫
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://git@github.com:npm/npm.git#v1.0.27 git+ssh://git@github.com:npm/npm#semver:^5.0 git+https://isaacs@github.com/npm/npm.git git://github.com/npm/npm.git#v1.0.27 //現在還可以直接這么寫 { "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 // 以下寫法更優
{
"name": "baz",
"dependencies": {
"bar": "file:../foo/bar"
}
}
devDependencies:
說明:開發依賴
案例:同上
bin:
說明:可執行目錄
案例:
//`npm installl -g`的時候回將`cli.js`復制到`/usr/local/bin/myapp`,就可以使用`myapp`作為命令了,比如`webpack` { "bin" : { "myapp" : "./cli.js" } }
scripts:
說明:自定義命令,也可以覆蓋自定義命令
默認值:
"start": "node server.js":執行server.js
"install": "node-gyp rebuild":安裝依賴
自定義指令:
"test":"jtest", "build":"npm install && npm test && npm publish --access public"
執行自定義指令:
如果是覆蓋默認指令,直接使用默認指令便可,比如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" 查看某個包的版本 "npm ls" 列出當前依賴的包
cache:緩存
"npm cache clean []" 清除緩存 aliases: npm cache clear, npm cache rm
dedupe:重構
"npm dedupe" 重新整理依賴包架構 "npm ddp" aliases: find-dupes, ddp // 執行前 +-- b <-- depends on c@1.0.x | `-- c@1.0.3 `-- d <-- depends on c@~1.0.9 `-- c@1.0.10 //執行后 +-- b +-- d `-- c@1.0.10
init:初始化
npm init [-f|--force|-y|--yes] 加了參數就不會提示任何信息了
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:發布
npm publish [| ] [--tag ] [--access ] Publishes "." if no argument supplied Sets tag "latest" if no --tag specified
unpublish:取消發布
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:設置配置
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 總結] [--scope=<@scope>]
多看官方文檔才是王道,知道如何找到自己想找的資料才是真正的辦法,死命去記是沒有辦法的。
0x004 資源項目github
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/88525.html
摘要:引用并執行如果安裝出錯,比如寫錯了包名,將會發生以下事情命令行報錯使用可以自己新建一個文件編寫也可以直接使用來初始化一個該命令是一個交互式命令,可以根據提示輸入相應信息生成相應的,命令提示后面的中為提示內容,可以選擇一路,然后再去修改。 0x001 概述 npm是一個包管理工具,本文章基本算是對官方文檔的解讀、翻譯和實操筆記,順便說明使用npm中的坑。 0x002 安裝Node.js ...
摘要:如何選擇就如果上面所有,需要打包進生產環境就保存到,只是在開發或者打包的時候使用的就保存到即可。提示不能發布當前版本解決方案不能發布已經發布的版本,修改一下版本號就可以了想不到了,想到了再寫資源項目 0x001 概述 本篇文章承接上文,記錄的是一些使用過程中的疑惑 0x001 墻的原因使得包下載太慢 解決方案:使用淘寶cnpm,推薦使用cnpm,因為如果修改npm倉庫,將會導致無法發布...
摘要:概述本篇文章承接上文,記錄的和版本在包管理方面的異同,基于閱讀官方原文整理簡化。此時的文件夾如下所示包的復制和取消復制假設我們有一個項目依賴添加依賴依賴,此時添加依賴依賴,此時升級依賴依賴,此時升級依賴依賴,此時執行查看文件夾資源項目 0x000 概述 本篇文章承接上文,記錄的v2和v3版本在包管理方面的異同,基于閱讀官方原文整理簡化。 0x001 v2管理方式 假設有模塊A、B、C,...
摘要:概述本篇文章承接上文,記錄的是如何發布自己的模塊編寫模塊新建項目并初始化編寫模塊代碼發布模塊測試模塊命名空間每個人都可以發布自己的包,難免會有包名相同的情況,如果想要使 0x001 概述 本篇文章承接上文,記錄的是如何發布自己的Node.js模塊 0x002 編寫模塊 新建項目并初始化 $ mkdir 0x005-publish-own-module $ cd 0x005-publis...
摘要:最近剛剛學習了一個的開發框架,最重要的是可以用開發傳送門以下是學習過程中的筆記上面時全局安裝完成后用檢查是否成功創建了一個名為的項目,然后進入目錄,安裝依賴,啟動項目,瀏覽器打開就可以看到頁面了。 最近剛剛學習了thinkjs--一個node的MVC開發框架,最重要的是可以用es6/es7開發【傳送門】 以下是學習過程中的筆記: npm install thinkjs@2 -g --v...
閱讀 889·2023-04-26 02:16
閱讀 1199·2019-08-30 15:55
閱讀 2788·2019-08-30 15:53
閱讀 3382·2019-08-29 15:38
閱讀 2885·2019-08-29 13:42
閱讀 1980·2019-08-26 13:34
閱讀 1835·2019-08-26 10:10
閱讀 3077·2019-08-23 14:40