因爲網上關於這種介紹性質的文章太多了,在此推薦幾篇相關的介紹,以及提取一些關鍵字,你們簡單瞭解一些便可,如想繼續深刻的同窗,能夠自行在網上搜索相關資源html
:thumbsup:相關文章推薦node
:point_down:淺談我的理解正則表達式
首先咱們來看一下Nodejs官網的描述npm
Node.js 是一個基於 Chrome V8 引擎的 JavaScript 運行環境json
Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效緩存
提取關鍵字模塊化
nodejs的安裝相對比較簡單,這裏推薦以下安裝教程,對着該教程一步步操做下去便可成功安裝nodejs函數
安裝完成以後,在命令行輸入 node -v
便可查看當前nodejs版本,因爲我本地安裝的nodejs版本是 V8.11.3,因此建議跟着個人筆記學習的小夥伴安裝一樣的nodejs版本,避免後續出現一些不可預見的小問題學習
nodejs安裝完成以後,會附帶的幫咱們安裝另外一個工具,npm(node package manager)
npm是什麼:經過npm的全稱咱們能夠得知,npm是一個nodejs的包管理工具,咱們可使用npm工具便捷的管理咱們須要使用到的nodejs模塊包
這裏一樣建議,剛接觸的同窗不用糾結npm這個東西,跟着筆記一步一步的去使用,就能明白npm是什麼,給咱們的開發帶來了哪些便捷,想深刻了解的小夥伴,這裏推薦兩個連接
如下是npm常見命令,能夠先混個眼熟,後續須要使用再來查看
前5個我用黑體標粗的是平時咱們開發過程當中使用得最多的幾個命令
npm -v
:**查看npm版本。npm init
:**初始化後會出現一個package.json
配置文件。能夠在後面加上-y
,快速跳過問答式界面。npm install
:**會根據項目中的package.json
文件自動下載項目所需的所有依賴。npm install 包名 --save-dev
(npm install 包名 -D
):**安裝的包只用於開發環境,不用於生產環境,會出如今package.json
文件中的devDependencies
屬性中。npm install 包名 --save
(npm install 包名 -S
):**安裝的包須要發佈到生產環境的,會出如今package.json文件中的dependencies
屬性中。npm list
:查看當前目錄下已安裝的node包。npm list -g
:查看全局已經安裝過的node包。npm --help
:查看npm幫助命令。npm update 包名
:更新指定包。npm uninstall 包名
:卸載指定包。npm config list
:查看配置信息。npm 指定命令 --help
:查看指定命令的幫助。npm info 指定包名
:查看遠程npm上指定包的全部版本信息。npm config set registry https://registry.npm.taobao.org
: 修改包下載源,此例修改成了淘寶鏡像。npm root
:查看當前包的安裝路徑。npm root -g
:查看全局的包的安裝路徑。npm ls 包名
:查看本地安裝的指定包及版本信息,沒有顯示empty。npm ls 包名 -g
:查看全局安裝的指定包及版本信息,沒有顯示empty。Node.js採用的是CommonJs規範,在NodeJS中,通常將代碼合理拆分到不一樣的JS文件中,每個文件就是一個模塊,而文件路徑就是模塊名。
在編寫每一個模塊時,都有
require
、exports
、module
三個預先定義好的變量可供使用。
**require:**用於在當前模塊中加載和使用其餘模塊,傳入一個模塊名,返回一個模塊導出對象。模塊名可以使用相對路徑(以./
開頭),或者是絕對路徑(以/
或C:
之類的盤符開頭)。另外,模塊名中的.js
擴展名能夠省略。如下是一個例子。
var person1 = require("./person");
var person2 = require("./person.js");
複製代碼
exports:exports
對象是當前模塊的導出對象,用於導出模塊公有方法和屬性。別的模塊經過require
函數使用當前模塊時獲得的就是當前模塊的exports
對象。如下例子中導出了一個公有方法。
exports.hello = function(){
console.log("hello world!");
}
複製代碼
module:經過module
對象能夠訪問到當前模塊的一些相關信息,但最多的用途是替換當前模塊的導出對象。例如模塊導出對象默認是一個普通對象,若是想改爲一個函數的話,可使用如下方式。
module.exports = function(){
console.log("替換當前模塊化導出對象")
}
複製代碼
**模塊初始化:**一個模塊中的
JS
代碼僅在模塊第一次被使用時執行一次,並在執行過程當中初始化模塊的導出對象。以後,緩存起來的導出對象被重複利用。**主模塊:**經過命令行參數傳遞給NodeJS以啓動程序的模塊被稱爲主模塊。主模塊負責調度組成整個程序的其它模塊完成工做。例如經過如下命令啓動程序時,
main.js
就是主模塊。
node main.js
複製代碼
在同級目錄下面,建立counter.js
,main.js
,以下所示
//counter.js
var i = 0;
function count() {
return ++i;
}
exports.count = count;
複製代碼
// main.js
var counter1 = require('./counter');
var counter2 = require('./counter');
console.log(counter1.count());
console.log(counter2.count());
console.log(counter2.count());
複製代碼
經過node 命令運行主模塊,運行測試:
node
命令。node
命令可進入命令交互模式,很適合用來測試一些JS
代碼片斷,好比正則表達式。NodeJS
使用CMD模塊系統,主模塊做爲程序入口點,全部模塊在執行過程當中只初始化一次。