NODE環境(Windows系統)nvm npm bower gulp git

1、什么是node?

它不是JS文件,也不是JS框架,而是Server side JavaScript runtime,當服務端的一個JS文件運行時,會被NODE攔截,在NODE中運行JS代碼。JS由ES(ECMAScript),DOM,BOM 組成,目前運行在瀏覽器內核中,NODE中只能運行ECMAScript,無法使用DOM,BOM。

NODE就是一個JS運行環境。主要用于開發WEB應用程序開發,很多前端開發的工具都是基于NODE這個平臺,所有的工具就相當于一些軟件。

2、什么是環境變量

環境變量就是操作系統提供的系統級別用于存儲變量的地方,分為系統變量和用戶變量,系統變量指的是所用當前系統用戶共享的變量,自己的電腦一般只有一個用戶,建議將自己配置的環境變量放在用戶變量中,用戶變量比較干凈,環境變量的變量名是不區分大小寫的,變量間運行相互引用

特殊值:

-1, PATH變量(不區分大小寫), PATH 相當于一個路徑的引用,只要添加到PATH變量中的路徑,都可以在任何目錄下搜索

-,2,命令行,可以用來執行當前目錄下的文件

Node.js是一個輕內核(本身沒有什么功能)的東東,所有的功能都要功能包提供 node官方提供了一些最基礎的包。

3、NVM(Node Version Manager)

NODE兩種安裝方式:
1:msi方式安裝,
2:nvm方式安裝

因為Node更新比較快,不建議使用.msi安裝包安裝,而是使用nvm來管理node版本,方便切換、使用不同版本的NODE。

windows 環境下載地址:https://github.com/coreybutler/nvm-windows/releases, 我們選擇第一個:nvm-noinstall.zip 下載完成后解壓到一個地方,比如: C:\develop\nvm 里面的文件列表是這樣的:elevate.cmd、elevate.vbs、install.cmd、LICENSE、nvm.exe。然后完成以下操作:

1,雙擊 install.cmd ,(win10需要右擊用管理員權限打開),然后會讓你輸入”壓縮文件解壓或拷貝到的一個絕對路徑” ,輸入C:\develop\nvm路徑,此時彈出一個記事本窗口,修改里面的內容,如下

root: C:\develop\nvm
path: C:\develop\nodejs(注意中間沒有點)
arch: 64(默認是64位)
proxy: none

2,我們開始配置環境變量了,因為剛剛點擊了install.cmd的文件,那么會在環境變量的系統變量中,生成兩個環境變量:NVM_HOME 和 NVM_SYMLINK 。我們將這兩個環境變量刪掉。我們還會發現,在Path中也會自動添加上C:\dev\nvm;或者是C:\dev\nodejs,如果有的話,把他們刪掉,沒有的話更好。

3,在用戶變量中新建三個環境變量,分別為:

NVM_HOME=C:\dev\nvm
NVM_SYMLINK=C:\dev\nodejs
Path=%NVM_HOME%;%NVM_SYMLINK%

4,打開一個cmd窗口
輸入命令:nvm ,那么我們會看到當前關于nvm的所有信息。
輸入命令:nvm ls ,打印出電腦上已經安裝過的幾個NODE的版本
輸入命令:nvm use 版本號 /32
繼續輸入命令:nvm install (默認是64位) 如果網絡暢通,我們會看到正在下載的提示,下載完成后 會讓你use那個最新的node版本。
輸入命令:node -v,打印正在使用的NODE版本號

4、npm(Node Package Manager)

在每個版本的nodejs中,都會自帶npm,為了統一起見,我們安裝一個全局的npm工具,這個操作很有必要,因為我們需要安裝一些全局的其他包,不會因為切換node版本造成原來下載過的包不可用。
1、我們進入命令模式,輸入 npm config set prefix "C:\develop\nvm\npm" 回車,這是在配置npm的全局安裝路徑,然后在用戶文件夾下會生成一個.npmrc的文件(或者手動在用戶目錄下建一個這個文件),用記事本打開,其內容要與下面一致:

cache=C:\develop\nvm\npm-cache
prefix=C:\develop\nvm\npm

2、繼續在命令中輸入: npm install npm -g 回車后會發現正在下載npm包,在C:\develop\nvm\npm目錄中可以看到下載中的文件,以后我們只要用npm安裝包的時候加上 -g(global) 就可以把包安裝在我們剛剛配置的全局路徑下了。
3、為這個npm配置環境變量:在用戶變量中添加

變量名為:NPM_HOME,
變量值為 :C:\dev\nvm\npm
在Path的最前面添加;%NPM_HOME%,(注意了,這個一定要添加在 %NVM_SYMLINK%之前,所以我們直接把它放到Path的最前面)

4、最后我們新打開一個命令窗口,輸入npm -v ,此時我們使用的就是我們統一下載的npm包了。

4.1 npm常用操作

官網https://npmjs.com

  • 安裝一個包,npm install package_name
    • 安裝一個包到項目本地,必須要聯網
    • 安裝完成過后項目根目錄下會多一個node_modules文件夾,所有的下載下來的包全部在里面
  • 初始化操作,npm init
    • 給項目添加一個配置文件,生成package.json默認配置。
  • 添加項目依賴,npm install package_name --save/--save-dev
    • 項目依賴分兩種,一個就是普通的項目依賴比如bootstrap,
    • 還用一種只是開發階段需要用的,這種屬于開發依賴比如gulp,
    • 開發依賴最終記錄在package.json配置文件devDependencies節點里面
      為什么要保存至package.json?因為node插件包相對來說非常龐大,所以不加入版本管理,將配置信息寫入package.json并將其加入版本管理,其他開發者對應下載即可
--save就是將我們安裝的包名字和包版本記錄到配置文件中的dependencies節點中

卸載一個包,npm uninstall package_name --save

  • npm install xxx -g(全局安裝包)
    • 如果你安裝的是一個工具,工具要在每一個地方都能用,這種情況下一般全局安裝。

5、bower(web應用程序依賴項管理工具)

官網http://bower.io/
Bower can manage components that contain HTML, CSS, JavaScript, fonts or even image files. Bower doesn’t concatenate or minify code or do anything else - it just installs the right versions of the packages you need and their dependencies.
Bower就是用來管理項目中所有的依賴,主要用于Web頁面開發時使用的包管理,比如jquery,bootstrap

  • Bower常用命令
$ # 初始化一個Bower的配置文件
$ bower init
$ # 安裝一個包
$ bower install bootstrap
$ # GitHub shorthand
$ bower install desandro/masonry
$ # Git endpoint
$ bower install git://github.com/user/package.git
$ # URL
$ bower install http://example.com/script.js
$ # 安裝一個包并將其添加到配置文件
$ bower install bootstrap --save
$ # 卸載一個包
$ bower uninstall bootstrap
$ # 更新所有的包
$ bower update
  • Bower配置文件
    • 項目根目錄
    • 用戶主目錄

6、gulp

6.1什么是gulp?

gulp是前端開發過程中對代碼進行構建的工具,是自動化項目的構建利器;它不僅能對網站資源進行優化,而且在開發過程中很多重復的任務能夠使用正確的工具自動完成;使用它,我們不僅可以很愉快的編寫代碼,而且大大提高我們的工作效率。
gulp是基于Nodejs的自動任務運行器, 她能自動化地完成 javascript/coffee/sass/less/html/image/css 等文件的的測試、檢查、合并、壓縮、格式化、瀏覽器自動刷新、部署文件生成,并監聽文件在改動后重復指定的這些步驟。在實現上,她借鑒了Unix操作系統的管道(pipe)思想,前一級的輸出,直接變成后一級的輸入,使得在操作上非常簡單。通過本文,我們將學習如何使用Gulp來改變開發流程,從而使開發更加快速高效。
gulp 和 grunt 非常類似,但相比于 grunt 的頻繁 IO 操作,gulp 的流操作,能更快地更便捷地完成構建工作。

gulp是引入開發過程中的一些小工具,生產模式不需要gulp

本示例以gulp-less為例(將less編譯成css的gulp插件)展示gulp的常規用法,只要我們學會使用一個gulp插件后,其他插件就差看看其幫助文檔了。讓我們一起來學習gulp吧! _

6.2 gulp的全局安裝

首先確保你已經正確安裝了NODE環境,然后以全局方式安裝gulp

  • npm install -g gulp
    全局安裝完gulp后,還需要在每個要使用gulp的項目中單獨安裝一次,把目錄切換到你的項目文件夾中,然后再命令行中執行
  • npm install gulp
    如果想在安裝的時候吧gulp寫進項目package.json文件的依賴中,則可以加上--save-dev gulp
  • npm install --save-dev gulp
    這樣就完成了gulp的安裝,接下來就可以在項目中應用gulp了
gulp常用地址:

gulp官方網址:http://gulpjs.com
gulp插件地址:http://gulpjs.com/plugins
gulp 官方API:https://github.com/gulpjs/gulp/blob/master/docs/API.md
gulp 中文API:http://www.ydcss.com/archives/424

在自己的項目目錄下再安裝一下gulp,并且寫進package.json文件中,在項目目錄下沒有package.json需要先使用npm init --yes 添加package.json,然后在項目目錄下shit+鼠標右擊在此文件夾下打開命令窗口輸入:npm install --save-dev gulp 。
在項目中打開命令窗口執行npm install,會自動去下載package.json里的依賴包。

新建gulpfile.js文件(重要)

說明:gulpfile.js是gulp項目的配置文件,
是位于項目根目錄的普通js文件
(其實將gulpfile.js放入其他文件夾下亦可)。
它大概是這樣一個js文件
(更多插件配置請查看這里

在gulpfile中寫入我們需要做的任務,并且需要安裝對應的插件,下面幾個是常用插件

//npm install gulp-less --save-dev
//npm install gulp-concat --save-dev
//npm install gulp-uglify --save-dev
//npm install gulp-cssnano --save-dev
//npm install gulp-htmlmin --save-dev
//npm install browser-sync --save-dev

運行gulp

說明:命令提示符執行gulp 任務名稱;
編譯less:命令提示符執行gulp testLess;
當執行gulp default或gulp將會調用default任務里的所有任務[‘testLess’,’elseTask’]。

6.3在Gulp中使用BrowserSync

BrowserSync可以同時同步刷新多個瀏覽器,更神奇的是你在一個瀏覽器中滾動頁面、點擊按鈕、輸入框中輸入信息等用戶行為也會同步到每個瀏覽器中。

安裝browser-sync模塊

  • npm install browser-sync -g
    命令行直接使用
  • browser-sync start --server --files "css/*.css"
    使用上面命令會開啟一個迷你服務器,自動幫你打開瀏覽器,默認地址localhost:3000,默認打開index.html,如果沒有,需要手動加上你要打開的頁面,如localhost:3000/test.html。
    通常你不會需要默認的地址,所以需要使用代理模式:
  • browser-sync start --proxy "localhost:8080" --files "css/*.css"

7、git

7.1什么是GIT

它是一個源代碼管理工具,在一個項目中,凡是由開發人員編寫的都算是源代碼,源代碼有必要管理起來,讓源代碼可以被追溯,主要記錄每次變更了什么,誰主導這次變化。人為的維護比較麻煩,GIT是Linux之父當年為了維護管理Linux的源代碼寫的一個工具
Git 之前 很多使用 svn vss tfs hs ......

官網 https://guides.github.com/

7.2安裝GIT

在Windows上安裝Git

下載地址https://git-for-windows.github.io

然后按默認選項安裝即可。

  • 創建項目目錄
    cd 當前項目目錄
git init // 初始化一個本地的倉庫

就是在本地文件夾中添加了一個.git的文件夾用于記錄所有的項目變更信息

  • 查看本地倉儲的變更狀態
git status

用于查看本地倉儲的狀態
第一次查看,顯示的是一坨沒有被跟蹤的文件

git status -s // -s 是輸出簡要的變更日志

  • 添加本地暫存(托管)文件
git add --all / git add .

所有添加跟蹤

類似于node_modules這種性質的文件是不應該被跟蹤

  • 添加本地GIT忽略清單文件
在代碼庫文件夾的根目錄添加一個.gitignore文件

此文件用于說明忽略的文件有哪些

  • 提交被托管的文件變化到本地倉儲
git commit -m '需要說明的信息如:第一次提交'

將本地的變化提交的本地的倉庫文件夾歸檔
一般在有了一個小單元的整體變化后再提交

  • 對比差異
git diff

可以用于對比當前狀態和版本庫中狀態的變化

  • 提交日志
git log

可以查看提交日志

  • 回歸到指定版本
git reset --hard
  • 為倉儲添加遠端(服務器端)地址

  • 將本地倉儲的提交記錄推送到遠端的master分支

  • 拉取遠端master分支的更新記錄到本地

  • 回歸到指定版本

安裝完成后,在開始菜單里找到“Git”->“Git Bash”,蹦出一個類似命令行窗口的東西,就說明Git安裝成功!

安裝完成后,還需要最后一步設置,在命令行輸入:

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

因為Git是分布式版本控制系統,所以,每個機器都必須自報家門:你的名字和Email地址。你也許會擔心,如果有人故意冒充別人怎么辦?這個不必擔心,首先我們相信大家都是善良無知的群眾,其次,真的有冒充的也是有辦法可查的。

注意git config命令的--global參數,用了這個參數,表示你這臺機器上所有的Git倉庫都會使用這個配置,當然也可以對某個倉庫指定不同的用戶名和Email地址。

生成一個新的SSH密鑰

打開 Git Bash,輸入如下命令,然后連續按三個回車即可,

ssh-keygen -t rsa -C "your_email@example.com"

將SSH公鑰添加到GitHub賬戶,復制SSH公鑰的完整內容(/C/Users/Administrator/.ssh/id_rsa.pub)進入GitHub添加進去。

測試連接

打開 Git Bash 輸入:

ssh -T git@github.com

在項目目錄下(第一次提交代碼)

git init git add --all
git commit -m "第一次提交"
git remote add origin https://github.com/jilanlan/node-demo.git
git push -u origin master

如果執行git remote add origin https://github.com/Flowerowl/stumansys.git, 出現錯誤:fatal: remote origin already exists 則執行以下語句:git remote rm origin 再往后執行git remote add origin https://github.com/Flowerowl/stumansys.git 即可。

在執行git push origin master時,報錯:error:failed to push som refs to.......則執行以下語句:git pull origin master 先把遠程服務器github上面的文件拉先來,再push 上去。

提交完代碼后,我們可以在線編輯README文件,然后我們拉取到本地,

git pull origin master

拉取完后本地就和線上內容同步了。

安裝教程http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137396287703354d8c6c01c904c7d9ff056ae23da865a000/

8、github

github不是一個工具,是一個GIT服務提供商
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,283評論 6 530
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 97,947評論 3 413
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,094評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,485評論 1 308
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,268評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,817評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,906評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,039評論 0 285
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,551評論 1 331
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,502評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,662評論 1 366
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,188評論 5 356
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,907評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,304評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,563評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,255評論 3 389
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,637評論 2 370

推薦閱讀更多精彩內容

  • nvm、node安裝方式一 使用Homebrew 如果之前通過'brew install node'方式安裝過no...
    Y了個J閱讀 3,621評論 0 3
  • npm是什么 NPM的全稱是Node Package Manager,是隨同NodeJS一起安裝的包管理和分發工具...
    build1024閱讀 7,917評論 0 9
  • 什么是 NPM npm之于Node,就像pip之于Python,gem之于Ruby,composer之于PHP。 ...
    ihoey閱讀 6,258評論 2 36
  • 安裝Gulp首先需要安裝Node.js,并在控制臺輸入$ npm install gulp -gMac端需要寫成$...
    LaBaby_閱讀 933評論 0 1
  • gulpjs是一個前端構建工具,與gruntjs相比,gulpjs無需寫一大堆繁雜的配置參數,API也非常簡單,學...
    依依玖玥閱讀 3,163評論 7 55