nodeJS入門

什麼是NodeJS

 

JS是腳本語言,腳本語言都需要一個解析器才能運行。對於寫在HTML頁面裏的JS,瀏覽器充當瞭解析器的角色。而對於需要獨立運行的JS,NodeJS就是一個解析器。

每一種解析器都是一個運行環境,不但允許JS定義各種數據結構,進行各種計算,還允許JS使用運行環境提供的內置對象和方法做一些事情。例如運行在瀏覽器中的JS的用途是操作DOM,瀏覽器就提供了document之類的內置對象。而運行在NodeJS中的JS的用途是操作磁盤文件或搭建HTTP服務器,NodeJS就相應提供了fs、http、websocket、rest、mysql等內置對象。

 

安裝NodeJS

從官網下載安裝包https://nodejs.org/ 安裝包是msi可以直接安裝。

在Windows上安裝時務必選擇全部組件,包括勾選Add to Path。

安裝完成後,在Windows環境下,請打開命令提示符,然後輸入node -v,如果安裝正常,你應該看到v12.16.1這樣的輸出:

E:\visual-space\template>node -v 

v12.16.1

如何運行js代碼

在命令行輸入node,進入node交互模式

node > console.log('Hello World!'); 

Hello World!

如果要運行一大段代碼的話,可以先寫一個JS文件再運行。

function hello() {

    console.log('Hello World!'); 

} 

hello();

 

node hello.js
Hello World!

 

第一個例子,引入 required 模塊

require函數用於在當前模塊中加載和使用別的模塊,傳入一個模塊名,返回一個模塊導出對象。模塊名可使用相對路徑(以./開頭),或者是絕對路徑(以/或C:之類的盤符開頭)。另外,模塊名中的.js擴展名可以省略。以下是一個例子。

var http = require('http');

http.createServer(function (request, response) {

    // 發送 HTTP 頭部 
    // HTTP 狀態值: 200 : OK
    // 內容類型: text/plain
    response.writeHead(200, {'Content-Type': 'text/plain'});

    // 發送響應數據 "Hello World"
    response.end('Hello World\n');
}).listen(8888);

// 終端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');

 

使用命令行執行

node server.js

 

從瀏覽器訪問

打開瀏覽器訪問 http://127.0.0.1:8888/,你會看到一個寫着 "Hello World"的網頁。

 

 

npm

npm是什麼東東?npm其實是Node.js的包管理工具(package manager)。

NPM是隨同NodeJS一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問題,常見的使用場景有以下幾種:

  • 允許用戶從NPM服務器下載別人編寫的第三方包到本地使用。
  • 允許用戶從NPM服務器下載並安裝別人編寫的命令行程序到本地使用。
  • 允許用戶將自己編寫的包或命令行程序上傳到NPM服務器供別人使用。

由於新版的nodejs已經集成了npm,所以之前npm也一併安裝好了。同樣可以通過輸入 "npm -v" 來測試是否成功安裝。

 

初始化npm

npm init

在工程目錄執行初始化命令,會生成package.json文件,裏面有本項目的描述和依賴。

{
  "name": "template",
  "version": "1.0.0",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "description": "",
  "dependencies": {
    "nunjucks": "2.4.2",
    "ws": "1.1.1"
  }
}

如需增加依賴,修改package.json添加dependencies即可

然後執行npm install就會把依賴下載下來,保存在工程node_modules目錄下

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章