Helpex - Trao đổi & giúp đỡ Đăng nhập

Zero to Express trên OpenShift trong ba lệnh

Với thông báo gần đây rằng Node.js thường có sẵn như một phần của Red Hat OpenShift Application Runtimes, tôi muốn xem việc triển khai ứng dụng Express.js trên OpenShift dễ dàng như thế nào .

Bắt đầu

Trước khi chúng tôi bắt đầu, có một số điều kiện tiên quyết bắt buộc. Bạn cần cài đặt Node 8.xnpm 5.2 trở lên. npm đi kèm với bản phân phối nút chính thức, vì vậy nếu bạn cài đặt Node từ Nodejs.org , bạn nên sử dụng tốt.

Bạn cũng sẽ cần quyền truy cập vào môi trường OpenShift hoặc môi trường giảm thiểu Red Hat Container Development Kit (CDK). Đối với ví dụ này, tôi sẽ sử dụng minishift. Bạn có thể tìm thấy hướng dẫn về cách thiết lập và chạy minishift tại đây . Đối với minishift cục bộ của tôi, tôi bắt đầu nó bằng lệnh sau:

$ minishift start --memory=6144 --vm-driver virtualbox

Bạn cũng cần phải đăng nhập vào bất kỳ cụm OpenShift nào bạn đang sử dụng (OpenShift hoặc minishift) bằng cách sử dụng oc login.

Cảnh báo Spoiler

Đối với những người không muốn đọc toàn bộ bài đăng và không muốn cuộn đến cuối, đây là ba lệnh cần phải chạy:

$ npx express-generator .
$ npx json -I -f package.json -e 'this.scripts.start="PORT=8080 node ./bin/www"'
$ npx nodeshift --strictSSL=false --expose

Tạo ứng dụng Express

Bạn nói Express là gì? Vâng, theo trang web Express , Express là một "Khung web nhanh, chưa được tích hợp, tối giản cho Node.js."

Một điều thú vị khá về Express là công cụ nhanh máy phát điện ứng dụng : express-generator. Đây là một công cụ dòng lệnh "nhanh chóng tạo ra một khung ứng dụng."  Nhưng chờ đã: không phải tôi vừa nói rằng Express chưa được khai thác? Đúng là như vậy, nhưng đây là người tạo ra bộ xương cố chấp.

Trang web Express khuyên bạn nên cài đặt express-generatormô-đun trên toàn cầu, như sau:

npm install -g express-generator

Nhưng chúng tôi sẽ không làm điều đó. Thay vào đó, chúng tôi sẽ sử dụng một tính năng khá mới từ npm, được gọi là npx.

npxcung cấp cho chúng tôi khả năng chạy các lệnh một lần mà không cần phải cài đặt mọi thứ trên toàn cầu. npxChỉ có tính năng đó còn nhiều hơn thế nữa , vì vậy nếu bạn quan tâm đến tất cả những điều thú vị npxcó thể làm, hãy xem tại đây .

Với kiến ​​thức mới tìm thấy này, giờ đây chúng tôi có thể tạo ứng dụng Express của mình như sau:

$ npx express-generator .

Hãy xem nhanh những gì đang thực sự xảy ra với lệnh này. Đầu tiên, hãy npxthấy rằng chúng ta muốn chạy express-generatorlệnh, vì vậy npxsẽ có một số phép thuật để xem liệu chúng ta đã cài đặt nó cục bộ hay chưa (trong thư mục hiện tại của chúng ta), và sau đó nó kiểm tra các mô-đun toàn cục của chúng ta. Bởi vì nó không có ở đó, nó tải xuống để sử dụng một lần này.

express-generatorđược chạy trong thư mục hiện tại của chúng ta, được biểu thị bằng thư mục  . đó ở cuối lệnh.

Kết quả sẽ giống như sau:

Zero to Express trên OpenShift trong ba lệnh

express-generatorcũng cung cấp cho chúng tôi một số hướng dẫn về cách cài đặt các phụ thuộc và sau đó là cách chạy ứng dụng. Bạn có thể bỏ qua điều đó ngay bây giờ.

Cập nhật tệp package.json

Bây giờ chúng tôi đã tạo ứng dụng Express cơ bản của mình bằng một lệnh, chúng tôi cần thêm một thứ vào package.jsontrước khi triển khai ứng dụng của mình.

Chúng ta cần chuyển một PORTbiến môi trường vào tập lệnh bắt đầu của chúng ta.

Một cách để làm điều này là mở một trình soạn thảo văn bản và thực hiện theo cách đó, nhưng điều đó sẽ thêm một vài bước nữa. Để thực hiện điều này trong một lệnh, chúng ta có thể sử dụng mô-đun JSON .

$ npx json -I -f package.json -e 'this.scripts.start="PORT=8080 node ./bin/www"'

Như trước đây, chúng tôi đang sử dụng npxlệnh để cho phép chúng tôi không phải cài đặt jsonmô-đun trên toàn cầu.

Hãy xem điều gì đang xảy ra với các tùy chọn được chuyển đến jsonmô-đun.

-I -f package.jsoncó nghĩa là chúng tôi muốn chỉnh sửa tại chỗ tệp package.json. Các -etùy chọn sẽ thực hiện một số mã JavaScript, mà trong trường hợp này là thiết lập các scripts.starttài sản từ package.jsonvới chuỗi "PORT=8080 node ./bin/www".

Để biết thêm thông tin về jsonmô-đun, hãy xem tài liệu .

Triển khai ứng dụng cho OpenShift

Và bây giờ, bước cuối cùng là chạy lệnh này:

$ npx nodeshift --strictSSL=false --expose

Ở đây, chúng tôi đang sử dụng mô-đun chuyển đổi nút để triển khai ứng dụng của mình. nodeshiftlà CLI hoặc API có thể lập trình giúp triển khai ứng dụng Node cho OpenShift.

npx đang làm điều tương tự như trong các ví dụ trước.

nodeshiftđang sử dụng hai cờ. Điều đầu tiên, strictSSL=falselà cần thiết khi triển khai minishift hoặc nơi nào đó đang sử dụng chứng chỉ tự ký. Nếu chúng tôi đang triển khai đến một cụm OpenShift thực, chúng tôi có thể loại bỏ điều đó.

Cờ thứ hai expose, nói nodeshiftrằng nó nên tạo một tuyến đường cho chúng tôi, cho phép thế giới bên ngoài nhìn thấy ứng dụng của chúng tôi (nếu bạn đang chạy minishift cục bộ, chỉ bạn mới có thể nhìn thấy ứng dụng).

Đầu ra của lệnh này sẽ giống như sau:

Zero to Express trên OpenShift trong ba lệnh

Nếu chúng ta truy cập vào giao diện người dùng web của minishift đang chạy, chúng ta có thể thấy rằng nhóm được tạo hiện đang chạy thành công.

Zero to Express trên OpenShift trong ba lệnh

Sau đó, nếu chúng ta nhấp vào liên kết, chúng ta có thể thấy ứng dụng mẫu của mình đang chạy:

Zero to Express trên OpenShift trong ba lệnh

Tóm tắt

Trong bài đăng này, các lệnh đã được dàn trải một chút, vì vậy chúng ta hãy xem lại tất cả chúng cùng nhau:

$ npx express-generator .
$ npx json -I -f package.json -e 'this.scripts.start="PORT=8080 node ./bin/www"'
$ npx nodeshift --strictSSL=false --expose

Ứng dụng ví dụ chúng tôi tạo rất đơn giản, nhưng nó cho thấy bạn có thể bắt đầu sử dụng Node.js trên OpenShift nhanh như thế nào.

9 hữu ích 0 bình luận 5.8k xem chia sẻ

Có thể bạn quan tâm

loading