Ví dụ về máy chủ Nodejs

Trong ví dụ này, chúng tôi sẽ chỉ cho bạn cách tạo máy chủ HTTP bằng Node. js. Máy chủ sẽ lắng nghe trên cổng 1337 và sẽ gửi

$ node index.js
5 tới trình duyệt theo yêu cầu GET

Lưu ý rằng, thay vì sử dụng cổng 1337, bạn có thể sử dụng bất kỳ số cổng nào bạn chọn hiện không được sử dụng bởi bất kỳ dịch vụ nào khác

Mô-đun http là một Nút. js (một mô-đun có trong Node. js, không yêu cầu cài đặt thêm tài nguyên)

Mô-đun

$ node index.js
6 cung cấp chức năng tạo máy chủ HTTP bằng phương pháp
$ node index.js
7

Để tạo ứng dụng, hãy tạo một tệp chứa mã JavaScript sau

const http = require('http'); // Loads the http module 

http.createServer((request, response) => {
    
    // 1. Tell the browser everything is OK (Status code 200), and the data is in plain text
    response.writeHead(200, {
        'Content-Type': 'text/plain'
    });

    // 2. Write the announced text to the body of the page
    response.write('Hello, World!\n');

    // 3. Tell the server that all of the response headers and body have been sent
    response.end();

}).listen(1337); // 4. Tells the server what port to be on

Lưu tệp với bất kỳ tên tệp nào. Trong trường hợp này, nếu chúng ta đặt tên là

$ node index.js
8, chúng ta có thể chạy ứng dụng bằng cách vào thư mục chứa tệp và sử dụng lệnh sau

Được nhúng bên dưới về cơ bản là ứng dụng Express đơn giản nhất mà bạn có thể tạo. Đây là một ứng dụng tệp duy nhất — không phải những gì bạn sẽ nhận được nếu sử dụng trình tạo Express, trình tạo khung cho một ứng dụng đầy đủ với nhiều tệp JavaScript, mẫu Jade và thư mục con cho nhiều mục đích khác nhau


const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

Ứng dụng này khởi động máy chủ và lắng nghe trên cổng 3000 để tìm kết nối. Ứng dụng phản hồi với “Xin chào thế giới. ” đối với các yêu cầu tới URL gốc (______49) hoặc tuyến đường. Đối với mọi đường dẫn khác, nó sẽ phản hồi với lỗi 404 Not Found

Ví dụ trên thực sự là một máy chủ đang hoạt động. Hãy tiếp tục và nhấp vào URL được hiển thị. Bạn sẽ nhận được phản hồi, với nhật ký thời gian thực trên trang và mọi thay đổi bạn thực hiện sẽ được phản ánh trong thời gian thực. Điều này được cung cấp bởi RunKit, cung cấp sân chơi JavaScript tương tác được kết nối với môi trường Node hoàn chỉnh chạy trong trình duyệt web của bạn. Dưới đây là hướng dẫn để chạy cùng một ứng dụng trên máy cục bộ của bạn

RunKit là dịch vụ của bên thứ ba không liên kết với dự án Express

Chạy cục bộ

Đầu tiên tạo một thư mục có tên là

$ node index.js
0, thay đổi nó và chạy
$ node index.js
1. Sau đó cài đặt
$ node index.js
2 làm phụ thuộc, theo hướng dẫn cài đặt

Trong thư mục

$ node index.js
0, tạo một tệp có tên
$ node index.js
4 và sao chép mã từ ví dụ trên

$ node index.js
5 (yêu cầu) và
$ node index.js
6 (phản hồi) là các đối tượng giống hệt nhau mà Node cung cấp, vì vậy bạn có thể gọi
$ node app.js
0,
$ node app.js
1 và bất kỳ điều gì khác mà bạn sẽ làm mà không cần đến Express

Nút. js là thời gian chạy JavaScript hướng sự kiện không đồng bộ và hiệu quả nhất khi xây dựng các ứng dụng mạng có thể mở rộng. Nút. js không có khóa, vì vậy không có cơ hội khóa chết bất kỳ quy trình nào. và cung cấp các sản phẩm phần mềm bằng cách sử dụng nó.

Trong chương này, tôi sẽ chỉ cho bạn cách kích hoạt một Node đơn giản. js HTTP và bắt đầu phục vụ các yêu cầu

Xem tất cả các chương của loạt bài hướng dẫn Node Hero

  1. Bắt đầu với Nút. js
  2. Sử dụng NPM
  3. Hiểu lập trình không đồng bộ
  4. Nút đầu tiên của bạn. máy chủ HTTP js [ chương này ]
  5. Nút. hướng dẫn cơ sở dữ liệu js
  6. Nút. hướng dẫn mô-đun yêu cầu js
  7. Nút. hướng dẫn cấu trúc dự án js
  8. Nút. xác thực js bằng Hộ chiếu. js
  9. Nút. hướng dẫn kiểm thử đơn vị js
  10. nút gỡ lỗi. ứng dụng js
  11. Nút. Hướng dẫn bảo mật js
  12. Cách triển khai nút. ứng dụng js
  13. Nút giám sát. ứng dụng js

Mô-đun $ node index.js 3 cho Nút của bạn. máy chủ js

Khi bạn bắt đầu xây dựng các ứng dụng dựa trên HTTP trong Node. js, các mô-đun 

$ node index.js
3/_______45 tích hợp sẵn là những mô-đun bạn sẽ tương tác

Bây giờ, hãy tạo Nút đầu tiên của bạn. máy chủ HTTP js. Chúng tôi cần yêu cầu mô-đun 

$ node index.js
3 và liên kết máy chủ của chúng tôi với cổng 
$ node index.js
7 để lắng nghe

// content of index.js
const http = require('http')
const port = 3000

const requestHandler = (request, response) => {
  console.log(request.url)
  response.end('Hello Node.js Server!')
}

const server = http.createServer(requestHandler)

server.listen(port, (err) => {
  if (err) {
    return console.log('something bad happened', err)
  }

  console.log(`server is listening on ${port}`)
})

Bạn có thể bắt đầu nó với

$ node index.js

Những điều cần lưu ý ở đây

  • $ node index.js
    
    8. chức năng này sẽ được gọi mỗi khi có yêu cầu đến máy chủ. Nếu bạn truy cập 
    $ node index.js
    
    9 từ trình duyệt của mình, hai thông báo tường trình sẽ xuất hiện. một cho 
    
    const express = require('express')
    const app = express()
    const port = 3000
    
    app.get('/', (req, res) => {
      res.send('Hello World!')
    })
    
    app.listen(port, () => {
      console.log(`Example app listening on port ${port}`)
    })
    
    30 và một cho 
    
    const express = require('express')
    const app = express()
    const port = 3000
    
    app.get('/', (req, res) => {
      res.send('Hello World!')
    })
    
    app.listen(port, () => {
      console.log(`Example app listening on port ${port}`)
    })
    
    31
  • 
    const express = require('express')
    const app = express()
    const port = 3000
    
    app.get('/', (req, res) => {
      res.send('Hello World!')
    })
    
    app.listen(port, () => {
      console.log(`Example app listening on port ${port}`)
    })
    
    32. xử lý lỗi – nếu cổng đã được sử dụng hoặc vì bất kỳ lý do nào khác, máy chủ của chúng tôi không thể khởi động, chúng tôi sẽ nhận được thông báo tại đây

Mô-đun 

$ node index.js
3 ở cấp độ rất thấp – việc tạo một ứng dụng web phức tạp bằng cách sử dụng đoạn mã trên rất tốn thời gian. Đây là lý do tại sao chúng ta thường chọn một framework để làm việc với các dự án của mình. Có rất nhiều bạn có thể chọn, nhưng đây là những cái phổ biến nhất

  • bày tỏ
  • hapi
  • gấu trúc
  • phục hồi

Đối với chương này và các chương tiếp theo, chúng tôi sẽ sử dụng Express, vì bạn sẽ tìm thấy hầu hết các mô-đun trên NPMnpm là một sổ đăng ký phần mềm . 3 triệu gói. npm được sử dụng bởi các nhà phát triển nguồn mở từ khắp nơi trên thế giới để chia sẻ và mượn mã, cũng như nhiều doanh nghiệp. Có ba thành phần để npm. trang web Giao diện dòng lệnh (CLI) sổ đăng ký Sử dụng trang web để khám phá và tải xuống các gói, tạo hồ sơ người dùng và. cho Express.

Thể hiện

Khung web tối giản, nhanh chóng, đơn giản dành cho Node. js – http. // expressjs. com/

Thêm Express vào dự án của bạn chỉ cần cài đặt NPM


const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})
3

Khi bạn đã cài đặt Express, hãy xem cách bạn có thể tạo một ứng dụng tương tự như trước đây


const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})
8

Sự khác biệt lớn nhất mà bạn phải chú ý ở đây là Express theo mặc định cung cấp cho bạn một bộ định tuyến. Bạn không cần phải kiểm tra URL theo cách thủ công để quyết định việc cần làm mà thay vào đó, bạn xác định định tuyến của ứng dụng bằng 


const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})
34, 

const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})
35, 

const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})
36, v.v. Chúng được dịch sang các động từ HTTP tương ứng

Một trong những khái niệm mạnh mẽ nhất mà Express thực hiện là mẫu phần mềm trung gian

phần mềm trung gian

Bạn có thể coi phần mềm trung gian là đường dẫn Unix, nhưng đối với các yêu cầu HTTP

Ví dụ về máy chủ Nodejs

Trong sơ đồ, bạn có thể thấy cách một yêu cầu có thể đi qua một ứng dụng Express. Nó di chuyển đến ba phần mềm trung gian. Mỗi người có thể sửa đổi nó, sau đó dựa trên logic nghiệp vụ hoặc phần mềm trung gian thứ ba có thể gửi lại phản hồi hoặc nó có thể là một trình xử lý tuyến đường

Trong thực tế, bạn có thể làm theo cách này

$ node app.js
2

Những điều cần lưu ý ở đây

  • 
    const express = require('express')
    const app = express()
    const port = 3000
    
    app.get('/', (req, res) => {
      res.send('Hello World!')
    })
    
    app.listen(port, () => {
      console.log(`Example app listening on port ${port}`)
    })
    
    37. đây là cách bạn có thể xác định phần mềm trung gian – nó nhận một hàm có ba tham số, tham số đầu tiên là yêu cầu, tham số thứ hai là phản hồi và tham số thứ ba là lệnh gọi lại ______138. Đang gọi
    
    const express = require('express')
    const app = express()
    const port = 3000
    
    app.get('/', (req, res) => {
      res.send('Hello World!')
    })
    
    app.listen(port, () => {
      console.log(`Example app listening on port ${port}`)
    })
    
    38 tín hiệu Thể hiện rằng nó có thể chuyển sang phần mềm trung gian hoặc trình xử lý định tuyến tiếp theo
  • Phần mềm trung gian đầu tiên chỉ ghi lại các tiêu đề và ngay lập tức gọi phần tiếp theo
  • Giây phút thêm một thuộc tính bổ sung vào nó – đây là một trong những tính năng mạnh mẽ nhất của mẫu phần mềm trung gian. Phần mềm trung gian của bạn có thể nối thêm dữ liệu vào đối tượng yêu cầu mà phần mềm trung gian xuôi dòng có thể đọc/thay đổi

xử lý lỗi

Như trong tất cả các framework, việc xử lý lỗi đúng là rất quan trọng. Trong Express, bạn phải tạo một chức năng phần mềm trung gian đặc biệt để làm như vậy – một phần mềm trung gian có bốn tham số

$ node app.js
6

Những điều cần lưu ý ở đây

  • Hàm xử lý lỗi phải là hàm cuối cùng được thêm vào với 
    
    const express = require('express')
    const app = express()
    const port = 3000
    
    app.get('/', (req, res) => {
      res.send('Hello World!')
    })
    
    app.listen(port, () => {
      console.log(`Example app listening on port ${port}`)
    })
    
    37
  • Trình xử lý lỗi có lệnh gọi lại 
    
    const express = require('express')
    const app = express()
    const port = 3000
    
    app.get('/', (req, res) => {
      res.send('Hello World!')
    })
    
    app.listen(port, () => {
      console.log(`Example app listening on port ${port}`)
    })
    
    38 – hàm này có thể được sử dụng để xâu chuỗi nhiều trình xử lý lỗi

Kết xuất HTML

Cho đến nay chúng ta đã xem xét cách gửi phản hồi JSON – đã đến lúc tìm hiểu cách kết xuất HTML một cách dễ dàng. Để làm được điều đó, chúng tôi sẽ sử dụng gói tay lái với trình bao bọc tay lái nhanh

Đầu tiên, hãy tạo cấu trúc thư mục sau

$ node app.js
9

Sau khi bạn có thông tin đó, hãy điền vào 


const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})
82 với đoạn mã sau

$ node app.js
1

Đoạn mã trên khởi tạo công cụ 


const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})
83 và đặt thư mục bố cục thành 

const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})
84. Đây là thư mục nơi bố cục của bạn sẽ được lưu trữ

Sau khi đã thiết lập xong, bạn có thể đặt 


const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})
85 đầu tiên của mình vào 

const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})
86 – để đơn giản, hãy thực hiện với bước này

$ node app.js
6

Bạn có thể nhận thấy trình giữ chỗ 


const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})
87 – đây là nơi nội dung của bạn sẽ được đặt – hãy tạo 

const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})
88

$ node app.js
9

Điều cuối cùng chúng ta phải làm để nó hoạt động là thêm một trình xử lý tuyến đường vào ứng dụng Express của chúng ta

$ node index.js
0

Phương thức 


const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})
89 có hai tham số

  • Cái đầu tiên là tên của khung nhìn,
  • và thứ hai là dữ liệu bạn muốn hiển thị

Khi bạn gọi điểm cuối đó, bạn sẽ nhận được kết quả như thế này

$ node index.js
1

Đây chỉ là phần nổi của tảng băng trôi – để tìm hiểu cách thêm nhiều bố cục hơn và thậm chí cả các phần, vui lòng tham khảo tài liệu chính thức về tay lái tốc hành

Gỡ lỗi nhanh

Trong một số trường hợp, bạn có thể cần xem điều gì xảy ra với Express khi ứng dụng của bạn đang chạy. Để làm như vậy, bạn có thể chuyển biến môi trường sau sang Express.

$ node app.js
20

Bạn phải bắt đầu Node của bạn. máy chủ HTTP js sử dụng

$ node index.js
2

Tóm lược

Đây là cách bạn có thể thiết lập Nút đầu tiên của mình. máy chủ HTTP js từ đầu. Tôi khuyên dùng Express để bắt đầu, sau đó thoải mái thử nghiệm. Hãy cho tôi biết làm thế nào nó đi trong các ý kiến

Trong chương tiếp theo, bạn sẽ tìm hiểu cách truy xuất thông tin từ cơ sở dữ liệu – đăng ký nhận bản tin của chúng tôi để cập nhật

Nút js CÓ THỂ được sử dụng làm máy chủ không?

Nút. js là môi trường máy chủ mã nguồn mở .

Làm cách nào để tạo một máy chủ trong Node js?

mô-đun lõi js var server = http. createServer(function (req, res) { //tạo máy chủ web if (req. url == '/') {// kiểm tra URL của yêu cầu hiện tại // đặt tiêu đề phản hồi res. writeHead(200, { 'Kiểu nội dung'. 'văn bản/html' });

Làm cách nào để chạy nút js trên máy chủ?

Tạo dự án và cài đặt mô-đun. .
Bước 1. Bạn có thể truy cập liên kết Tải xuống Node và tải xuống phiên bản LTS. .
Bước 2. Tạo một thư mục mới cho một dự án bằng lệnh sau. .
Bước 3. Điều hướng đến thư mục của chúng tôi bằng lệnh sau. cd testApp

Máy chủ nào tốt nhất cho Node JS?

7 Nút tốt nhất. js Nhà cung cấp dịch vụ lưu trữ .
Bluehost – tốt nhất cho Node chuyên dụng. lưu trữ js
HostGator – tốt nhất cho nút dễ dàng. thiết lập js
InMotion – tốt nhất cho Nút. js trợ giúp và hỗ trợ
A2 Hosting – tốt nhất cho Node giá rẻ. lưu trữ js
Hostinger – tốt nhất cho sự linh hoạt
Dreamhost – tốt nhất cho VPS Node. .
HostPapa – tốt nhất cho Node được chia sẻ