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常用操作
- 安裝一個包,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
拉取完后本地就和線上內容同步了。