Node 簡介
客戶端的JavaScript是怎樣的
-
什么是 JavaScript?
- 是一個腳本語言
- 運行在瀏覽器(瀏覽器的js解析內(nèi)核 v8)
- 實現(xiàn)用戶的交互 (interactive)
JavaScript 的運行環(huán)境?
+瀏覽器內(nèi)核解析內(nèi)核 es6-
瀏覽器中的 JavaScript 可以做什么?
- 變量 賦值 循環(huán) 邏輯 判斷 分支 對象 函數(shù)。。。。
- dom 操作
- bom 操作
- ajax
-
瀏覽器中的 JavaScript 不可以做什么?(不安全)
- 訪問數(shù)據(jù)庫
- 不能對文件進行操作
- 對os 進行操作
- 原因 是不安全 和瀏覽器運行機制有關
客戶端運行的node可以做的事情正好和js互補
-
它們之間的不同是由于運行環(huán)境的不同造成的
- 因為都有chrome v8 引擎,所有它們都能對基礎變量 for 循環(huán)之類的操作,
- js里因為運行在瀏覽器上,瀏覽器提供了基于瀏覽器的內(nèi)核解析器,使得js可以對css/html/bom/dom/進行操作。node里內(nèi)置的
- node內(nèi)置的libuv,可以是它能夠操作內(nèi)置模塊/操作文件/操作數(shù)據(jù)庫等。
-
在開發(fā)人員能力相同的情況下編程語言的能力取決于什么?
取決于運行環(huán)境,運行環(huán)境賦予了它不同的能力。- cordova hbuilder 平臺 platform
- java java虛擬機 (運行平臺)
- php php虛擬機
- c# .net framework mono
- js 解析內(nèi)核 chrome v8
JavaScript 只可以運行在瀏覽器中嗎?
+不是
為什么是JavaScript
- node js 不是因為js 產(chǎn)生的
- node 選擇了js
- Ryan dahl
- 2009 2 月份 node有想法
- 2009 5 月份 githup 開源
- 2009 11月份 jsconf 講解推廣node
- 2010年底 被xxx公司收購
- 2018 發(fā)布有重大bug
- npm
- githup 世界上最大的同性交友網(wǎng)站 碼云
what is node ?
- Node.js 是一個基于Chrome V8 引擎的JavaScript運行環(huán)境
- Node.js使用了一個事件驅(qū)動、非阻塞式I/O的模型,使其輕量又高效
- 非阻塞的i(input 輸入)/o(output 輸出)模型: 一般情況下 io操作都是阻塞的(網(wǎng)絡請求/文件操作/數(shù)據(jù)庫操作。。。)。node通過異步回調(diào)來使i/o操作變成非阻塞(所以很多情況下node的操作都是異步的。)
- Node.js的包管理工具npm,是全球最大的開源庫生態(tài)系統(tǒng)
- 官網(wǎng) http://nodejs.cn/
- npm 插件官網(wǎng):https://www.npmjs.com/
環(huán)境配置
Node的安裝
-
安裝包安裝
- 官網(wǎng)下載對應的安裝包
- 一路next
- 出現(xiàn)node不是內(nèi)部命令問題(解決方式)
- 軟件的安裝目錄地址復制
- 點擊此電腦右鍵屬性高級設置
- 環(huán)境變量
- 系統(tǒng)變量
- path
- 編輯文本 把1復制目錄復制過去。
-
nvm安裝(有一個類似的工具:n)
Node Version Manager(Node版本管理工具)
由于以后的開發(fā)工作可能會在多個Node版本中測試,而且Node的版本也比較多,所以需要這么款工具來管理
基本命令 nvm -v 查看版本號 nvm list 查看node版本列表 nvm install 版本號 安裝node版本 nvm uninstall 版本號 卸載node版本 nvm use 版本號 切換node版本 npm(node 的包管理工具,用來安裝包/插件)
初始化項目
npm init
npm init --yes
下載包
npm install jquery --save-dev 下載開發(fā)依賴(如果是只在開發(fā)中使用就下啊在開發(fā)依賴) 開發(fā)環(huán)境
npm install swiper --save 下載生產(chǎn)依賴 (如果上線也要用到這個包就裝生產(chǎn)依賴) 上線環(huán)境
npm install 包名字 默認生產(chǎn)依賴
npm install jquery@2.7.0 指定版本下載
刪除包
npm uninstall 包名
(所有包的都在倉庫里。npm是在倉庫中下載插件的)
查看鏡像源
npm config get registry
切換淘寶鏡像源
npm config set registry 加上淘寶鏡像的連接地址 https://registry.npm.taobao.org
npm 使用入門
官網(wǎng):https://www.npmjs.com/
安裝:無需安裝
查看當前版本:
$ npm -v
更新:
$ npm install npm@latest -g
初始化工程
$ npm init
$ npm init --yes 默認配置
安裝包
使用npm install會讀取package.json文件來安裝模塊。安裝的模塊分為兩類
dependencies和devDependencies,分別對應生產(chǎn)環(huán)境需要的安裝包和開發(fā)環(huán)境需要的安裝包。
$ npm install
$ npm install <package_name>
$ npm install <package_name> --save
$ npm install <package_name> --save-dev
更新模塊
$ npm update
卸載模塊
$ npm uninstall <package_name>
$ npm uninstall --save lodash
配置npm源
-
臨時使用, 安裝包的時候通過--registry參數(shù)即可(不推薦)
$ npm install express --registry https://registry.npm.taobao.org
全局使用
$ npm config set registry https://registry.npm.taobao.org
// 配置后可通過下面方式來驗證是否成功
npm config get registry
// 或
npm info express
- cnpm 使用
// 安裝cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org // 使用cnpm安裝包 cnpm install express