×

Cài đặt thư viện KeystoneJS trong JavaScript

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