Node.js安裝和簡單使用 1. 安裝方法 簡單的安裝方式是直接官網下載,然後本地安裝即可。官網地址:nodejs.org Windows系統下,選擇和系統版本匹配的.msi尾碼的安裝文件。Mac OS X系統下,選擇.pkg尾碼的安裝文件。 2. 測試是否安裝成功 打開終端,鍵入命令 ,如果進入 ...
Node.js安裝和簡單使用
- 安裝方法
簡單的安裝方式是直接官網下載,然後本地安裝即可。官網地址:nodejs.org
Windows系統下,選擇和系統版本匹配的.msi尾碼的安裝文件。Mac OS X系統下,選擇.pkg尾碼的安裝文件。
- 測試是否安裝成功
打開終端,鍵入命令node
,如果進入命令行式js交互環境,即安裝成功。如圖:
我們可以直接在終端node環境下輸入簡短的js代碼,比如正則表達式。
如果要運行一大段代碼的話,可以先寫一個JS文件再運行。例如有以下hello.js。
function hello() {
console.log('Hello World!');
}
hello();
寫好後在終端下鍵入node hello.js
運行,結果如下:
$ node hello.js
Hello World!
如果需要退出node環境,可以在終端連續輸入兩次:Ctrl+C
即可。如圖:
Node.js模塊化的理解
Node.js採用的是CommonJs規範,在NodeJS中,一般將代碼合理拆分到不同的JS文件中,每一個文件就是一個模塊,而文件路徑就是模塊名。
在編寫每個模塊時,都有require、exports、module三個預先定義好的變數可供使用。
- require
require
函數用來在一個模塊中引入另外一個模塊。傳入一個模塊名,返回一個模塊導出對象。用法:let cc = require("模塊名")
,其中模塊名可以用絕對路徑也可以用相對路徑,模塊的尾碼名.js可以省略。例如:
let cc1 = require('./main.js')
let cc2 = require('home/src/main.js')
let cc3 = require('./main')
- exports
exports
對象用來導出當前模塊的公共方法或屬性,別的模塊通過require
函數使用當前模塊時得到的就是當前模塊的exports
對象。用法:exports.name
,name為導出的對象名。例子:
exports.add = function () {
let i = 0
console.log(++i)
}
導出一個add方法供其他模塊使用
其實exports類似於ES6中的export的用法,用來導出一個指定名字的對象。
- module.exports
module.exports
用來導出一個預設對象,沒有指定對象名,常見於修改模塊的原始導出對象。比如原本模塊導出的是一個對象,我們可以通過module.exports修改為導出一個函數。如下:
module.exports = function () {
console.log('hello world!')
}
其實module.exports類似於ES6中的export default的用法,用來導出一個預設的對象。
- 模塊的初始化
一個模塊中的JS代碼僅在模塊第一次被使用時執行一次,並且在使用的過程中進行初始化,之後緩存起來便於後續繼續使用。
- 主模塊
通過命令行參數傳遞給NodeJS以啟動程式的模塊被稱為主模塊。主模塊負責調度組成整個程式的其它模塊完成工作。例如通過以下命令啟動程式時,main.js就是主模塊。
$ node main.js // 運行main.js啟動程式,main.js稱為主模塊
完整實例:
在項目中我們有個hello.js
文件,裡面定義了一個求和的函數
var a = 1;
function add () {
return ++a;
}
exports.add = add
我們在項目的主模塊 main.js
中引入hello.js
var add1 = require('./hello')
var add2 = require('./hello')
console.log(add1.add())
console.log(add2.add())
該程式運行的結果如下:
$ node main.js
2
3
我們可以看到hello.js
並沒有別引入兩次而初始化兩次,說明模塊只會在執行的過程中被初始化一次。
後語
本倉庫是自己Node.js學習過程的真實記錄,以後會每天更新一些新的知識點,希望可以對想要學Node.js的同學有一些幫助,歡迎star,你們的點贊是我更新的持久動力。同時如果你覺得本倉庫中的一些知識點有錯誤也可以issue我,方便後期我訂正!
本倉庫同時在博客園和掘金更新,歡迎寫博客的朋友一起學習交流。
博客園
掘金
GitHub