Tạo và chạy dự án Express.js
Express.js là gì?
Express.js là một framework web nhanh chóng, mở, và tối giản dựa trên Node.js. Nó cung cấp một loạt các tính năng mạnh mẽ để xây dựng các ứng dụng web đơn trang, đa trang và lai. Express.js là một trong những framework phổ biến nhất trong hệ sinh thái Node.js, được yêu thích bởi các nhà phát triển nhờ thiết kế đơn giản và linh hoạt.
Các tính năng và lợi ích chính của Express.js
- Đơn giản và linh hoạt: Express.js cung cấp API đơn giản và cơ chế middleware linh hoạt, giúp việc phát triển ứng dụng web trở nên rất hiệu quả.
- Middleware: Hỗ trợ nhiều loại middleware, dễ dàng xử lý các yêu cầu và phản hồi.
- Routing: Chức năng routing mạnh mẽ, có thể xử lý các yêu cầu dựa trên các phương thức HTTP và đường dẫn URL khác nhau.
- Tích hợp mạnh mẽ: Có thể tích hợp liền mạch với các engine template, cơ sở dữ liệu và các module khác của Node.js.
- Cộng đồng và hệ sinh thái: Có cộng đồng lớn và hỗ trợ nhiều middleware và plugin từ bên thứ ba.
Sử dụng Express.js, các nhà phát triển có thể nhanh chóng xây dựng các ứng dụng web và API hiệu suất cao.
Tạo và chạy dự án Express.js với ServBay
Trong bài viết này, chúng ta sẽ sử dụng môi trường Node.js do ServBay cung cấp để tạo và chạy một dự án Express.js. Chúng ta sẽ sử dụng tính năng 'Host' của ServBay để cấu hình máy chủ web và thực hiện việc truy cập dự án một cách đơn giản.
Tạo dự án Express.js
Khởi tạo dự án
Trước tiên, hãy đảm bảo rằng bạn đã cài đặt môi trường Node.js do ServBay cung cấp. Sau đó, sử dụng lệnh sau để khởi tạo một dự án Express.js mới:
bashcd /Applications/ServBay/www npx express-generator servbay-express-app
1
2Cài đặt các phụ thuộc
Chuyển vào thư mục dự án và cài đặt các phụ thuộc:
bashcd servbay-express-app npm install
1
2
Chỉnh sửa nội dung xuất ra của dự án Express.js
Chỉnh sửa tệp
routes/index.js
Mở tệp
routes/index.js
và chỉnh sửa nội dung để trang web xuất ra "Hello ServBay!":javascriptvar express = require('express'); var router = express.Router(); /* GET home page. */ router.get('/', function(req, res, next) { res.send('Hello ServBay!'); }); module.exports = router;
1
2
3
4
5
6
7
8
9
Chuyển sang chế độ phát triển
Chạy máy chủ phát triển
Khởi động máy chủ phát triển và chỉ định cổng (ví dụ: 8585):
bashPORT=8585 DEBUG=servbay-express-app:* npm start
1Điều này sẽ khởi động một máy chủ phát triển cục bộ và mở cổng 8585.
Cấu hình proxy ngược của ServBay
Sử dụng tính năng 'Host' của ServBay để truy cập máy chủ phát triển thông qua proxy ngược. Trong phần cài đặt 'Host' của ServBay, thêm một proxy ngược mới:
- Tên:
My first Express.js dev site
- Tên miền:
servbay-express-test.dev
- Loại máy chủ:
Proxy ngược
- IP:
127.0.0.1
- Cổng:
8585
Chi tiết các bước cấu hình, vui lòng tham khảo Thêm trang web phát triển Nodejs.
- Tên:
Truy cập chế độ phát triển
Mở trình duyệt và truy cập
https://servbay-express-test.dev
để xem dự án trong thời gian thực. Nhờ ServBay hỗ trợ tên miền tùy chỉnh và chứng chỉ SSL miễn phí, bạn sẽ có trải nghiệm bảo mật cao hơn.
Triển khai phiên bản sản xuất
Chuẩn bị môi trường sản xuất
Đảm bảo rằng dự án của bạn có thể chạy bình thường trong môi trường sản xuất. Thông thường, dự án Express.js không cần các bước xây dựng đặc biệt, nhưng bạn có thể cần cấu hình một số biến môi trường hoặc thực hiện các cấu hình khác.
Chạy máy chủ sản xuất
Khởi động máy chủ sản xuất và chỉ định cổng (ví dụ: 8586):
bashPORT=8586 NODE_ENV=production npm start
1Cấu hình proxy ngược của ServBay
Sử dụng tính năng 'Host' của ServBay để truy cập máy chủ sản xuất thông qua proxy ngược. Trong phần cài đặt 'Host' của ServBay, thêm một proxy ngược mới:
- Tên:
My first Express.js production site
- Tên miền:
servbay-express-test.prod
- Loại máy chủ:
Proxy ngược
- IP:
127.0.0.1
- Cổng:
8586
- Tên:
Truy cập chế độ sản xuất
Mở trình duyệt và truy cập
https://servbay-express-test.prod
để xem phiên bản sản xuất. Với tên miền tùy chỉnh và chứng chỉ SSL miễn phí từ ServBay, trang web của bạn sẽ có mức độ bảo mật và uy tín cao hơn.
Kết nối cơ sở dữ liệu
ServBay cung cấp hỗ trợ cho các cơ sở dữ liệu Redis, MariaDB, PostgreSQL và MongoDB. Dưới đây là các ví dụ về cách kết nối với các cơ sở dữ liệu này.
Kết nối MongoDB
Cài đặt
mongoose
:bashnpm install mongoose
1Sau đó, nhập và kết nối trong dự án:
javascriptvar mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/servbay-express-app', { useNewUrlParser: true, useUnifiedTopology: true });
1
2
3Kết nối Redis
Cài đặt
redis
:bashnpm install redis
1Sau đó, nhập và kết nối trong dự án:
javascriptvar redis = require('redis'); var client = redis.createClient(); client.on('error', function (err) { console.log('Error ' + err); });
1
2
3
4
5
6Kết nối MariaDB
Cài đặt
mariadb
:bashnpm install mariadb
1Sau đó, nhập và kết nối trong dự án:
javascriptvar mariadb = require('mariadb'); var pool = mariadb.createPool({ host: 'localhost', user: 'root', password: 'password', database: 'servbay_express_app' }); pool.getConnection() .then(conn => { console.log("Connected to MariaDB"); conn.release(); //release to pool }) .catch(err => { console.log("Not connected due to error: " + err); });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16Kết nối PostgreSQL
Cài đặt
pg
:bashnpm install pg
1Sau đó, nhập và kết nối trong dự án:
javascriptvar { Pool } = require('pg'); var pool = new Pool({ user: 'user', host: 'localhost', database: 'servbay_express_app', password: 'password', port: 5432, }); pool.connect((err, client, done) => { if (err) throw err; console.log('Connected to PostgreSQL'); done(); });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Bằng cách làm theo các bước trên, bạn đã thành công tạo và chạy một dự án Express.js, sử dụng các tính năng do ServBay cung cấp để quản lý và truy cập dự án của bạn, đồng thời kết nối với nhiều cơ sở dữ liệu khác nhau.