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.x và npm 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-generator
mô-đ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
.
npx
cung 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. npx
Chỉ 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ị npx
có 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 npx
thấy rằng chúng ta muốn chạy express-generator
lệnh, vì vậy npx
sẽ 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:
express-generator
cũ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.json
trước khi triển khai ứng dụng của mình.
Chúng ta cần chuyển một PORT
biế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 npx
lệnh để cho phép chúng tôi không phải cài đặt json
mô-đ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 json
mô-đun.
-I -f package.json
có nghĩa là chúng tôi muốn chỉnh sửa tại chỗ tệp package.json
. Các -e
tù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.start
tài sản từ package.json
với chuỗi "PORT=8080 node ./bin/www"
.
Để biết thêm thông tin về json
mô-đ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. nodeshift
là 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=false
là 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 nodeshift
rằ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:
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.
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:
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.
Có thể bạn quan tâm
