KeystoneJS là một framework CMS mã nguồn mở mạnh mẽ dựa trên Node.js và MongoDB. Nó đã được nhiều nhà phát triển lựa chọn để tạo ra các dự án web động và quản lý nội dung phức tạp nhờ tính linh hoạt và dễ sử dụng. Bài viết này sẽ hướng dẫn bạn cài đặt thư viện KeystoneJS trong JavaScript và cung cấp những thông tin cơ bản để bắt đầu sử dụng nó.
Giới thiệu về KeystoneJS
KeystoneJS là gì?
KeystoneJS là một hệ thống quản lý nội dung (CMS) và framework phát triển ứng dụng web mã nguồn mở dựa trên Node.js và MongoDB. Được phát triển bởi Thinkmill, KeystoneJS nổi bật với sự dễ dàng trong việc tạo ra các ứng dụng web dựa trên cơ sở dữ liệu NoSQL.
Tại sao nên sử dụng KeystoneJS?
- Dễ dàng sử dụng và cài đặt: KeystoneJS có cấu trúc rõ ràng, dễ hiểu và hướng dẫn rất chi tiết.
- Mạnh mẽ và linh hoạt: Với khả năng tùy biến cao, bạn có thể xây dựng từ website tĩnh đơn giản đến các ứng dụng web phức tạp.
- Hỗ trợ tốt cho quản lý nội dung: KeystoneJS tích hợp với các bộ công cụ quản lý nội dung mạnh mẽ giúp dễ dàng quản lý dữ liệu và nội dung.
Yêu cầu hệ thống
Trước khi bắt đầu cài đặt KeystoneJS, hãy bảo đảm rằng bạn đã cài đặt và cấu hình các yêu cầu hệ thống sau:
- Node.js: KeystoneJS yêu cầu Node.js phiên bản 12 trở lên.
- MongoDB: Bạn cần có một máy chủ MongoDB đang chạy để lưu trữ dữ liệu.
- Git: Để quản lý mã nguồn và cài đặt các gói cần thiết.
Bước 1: Cài đặt Node.js và MongoDB
Cài đặt Node.js
Node.js là môi trường chạy JavaScript trên server. Để cài đặt Node.js, bạn có thể truy cập trang chủ Node.js và tải về phiên bản mới nhất.
https://nodejs.org/
Cài đặt MongoDB
MongoDB là một cơ sở dữ liệu NoSQL mạnh mẽ và dễ sử dụng. Bạn có thể tải về và cài đặt MongoDB từ trang chủ MongoDB.
https://www.mongodb.com/
Bước 2: Tạo ứng dụng mới với KeystoneJS
Cài đặt Keystone CLI
Trước tiên, bạn cần cài đặt công cụ dòng lệnh của KeystoneJS (Keystone CLI) để dễ dàng tạo mới và quản lý các ứng dụng Keystone.
npm install -g @keystonejs/keystone-cli
Tạo dự án mới
Sử dụng Keystone CLI để tạo một dự án mới. Chạy lệnh sau trong terminal:
keystone create my-app
Trong đó, my-app
là tên của ứng dụng bạn muốn tạo.
Cấu hình ứng dụng
Sau khi tạo thành công dự án mới, bạn sẽ thấy một thư mục mới với tên ứng dụng của bạn được tạo ra. Hãy chuyển vào thư mục đó:
cd my-app
Trong thư mục này, hãy mở file keystone.js
để cấu hình các thông số cơ bản của ứng dụng.
Bước 3: Cài đặt và cấu hình các thành phần cần thiết
KeystoneJS đi kèm với nhiều thành phần và plugin để mở rộng và tùy biến ứng dụng của bạn. Để cài đặt các thành phần cần thiết, bạn có thể sử dụng npm hoặc yarn.
Cài đặt các gói cơ bản
npm install @keystonejs/adapter-mongoose @keystonejs/app-graphql @keystonejs/app-admin-ui
npm install @keystonejs/auth-password @keystonejs/fields @keystonejs/keystone
Cấu hình các gói đã cài đặt
Mở file index.js
trong thư mục gốc của dự án và thêm cấu hình cho các gói đã cài đặt như sau:
const { Keystone } = require('@keystonejs/keystone');
const { MongooseAdapter: Adapter } = require('@keystonejs/adapter-mongoose');
const { GraphQLApp } = require('@keystonejs/app-graphql');
const { AdminUIApp } = require('@keystonejs/app-admin-ui');
const { PasswordAuthStrategy } = require('@keystonejs/auth-password');
const PostSchema = require('./lists/Post');
const keystone = new Keystone({
name: 'My KeystoneJS App',
adapter: new Adapter({ mongoUri: 'mongodb://localhost/my-database' }),
});
keystone.createList('Post', PostSchema);
keystone.createAuthStrategy({
type: PasswordAuthStrategy,
list: 'User',
});
module.exports = {
keystone,
apps: [
new GraphQLApp(),
new AdminUIApp({
name: 'My KeystoneJS App',
enableDefaultRoute: true,
}),
],
};
Bước 4: Tạo mô hình dữ liệu (List)
Tạo mô hình Post
Tạo một thư mục mới tên lists
trong thư mục gốc của dự án và tạo file Post.js
bên trong đó với nội dung như sau:
const { Text, Slug, DateTime } = require('@keystonejs/fields');
module.exports = {
fields: {
title: { type: Text },
slug: { type: Slug, from: 'title' },
content: { type: Text, isMultiline: true },
postedAt: { type: DateTime },
},
};
Bước 5: Chạy ứng dụng KeystoneJS
Bây giờ, bạn đã hoàn tất cấu hình cơ bản cho ứng dụng của mình. Hãy chạy ứng dụng bằng lệnh:
npm start
Khi ứng dụng chạy thành công, bạn sẽ thấy dữ liệu mô tả trong terminal và có thể truy cập vào giao diện quản lý tại địa chỉ: http://localhost:3000/admin
.
Kết luận
KeystoneJS là một công cụ mạnh mẽ giúp bạn tạo ra các ứng dụng web và hệ thống quản lý nội dung một cách dễ dàng và nhanh chóng. Với hướng dẫn này, hy vọng rằng bạn đã có thể cài đặt và cấu hình thành công thư viện KeystoneJS trong JavaScript. Hãy tiếp tục khám phá và tận dụng các tính năng của KeystoneJS để phát triển các dự án của riêng mình.
Comments