Define tham số trong nodejs



  • Hiện tại em đang muốn định nghĩa 1 số tham số vị dụ như thư mục ổ đĩa cho toàn bộ hệ thống dùng chung.
    Ví dụ như PHP ta vẫn dùng ví dụ define("app_path", "c:/sorce/code/project1"), thế này rấy tiện.
    K biết ở node nó dùng thế nào các pro nhỉ?



  • Tham số là gì bạn nhỉ ?



  • @CodeConCat đại loại là e định nghĩa kiểu thế này ấy ạ:
    define("app_path", "c:/sorce/code/project1")
    Cái app_path em sẽ dùng ở bất kỳ đâu trong project.



  • Bạn search với keyword "global variable nodejs" nhé.
    Dùng từ "tham số" chắc là không đúng đâu.



  • Có rất nhiều cách để định nghĩa cấu hình, hoặc hằng số trong nodejs.

    1. Sử dụng biến global :
      global.<name > = < giá trị>
      Ưu điểm : nhanh gọn lẹ, dùng đâu cũng được.
      Nhược điểm : Không được lưu các giá trị có khả năng thay đổi theo thời gian vì giá trị trong global phụ thuộc vào process, nếu bạn chạy ở chế độ cluster mà thay đổi các giá trị trong này sẽ rất dễ lỗi hệ thống nếu không có hệ thống tự đồng bộ. Bên cạnh đó nếu đặt linh tinh khá khó quản lý
    2. Sử dụng cơ chế module :
      Tạo 1 file config.js
      exports.<name> = <giá trị>
      Sử dụng requiređến file đó
      Ưu điểm : đơn giản dễ hiểu, dễ quản lý
      Nhược điểm : lộ quá mức, không đặt được mã hoá .
    3. Thiết lập qua parameter khi chạy node
      node abc.js --<name> <giá trị>
      sử dụng qua
      process.env.<name>
      Cái này mình ít dùng vì lười gõ =))
    4. Sử dụng các dạng file khác qua 1 số module ví dụ như : dotenv ...


  • @Quốc-Cường đã nói trong Define tham số trong nodejs:

    Có rất nhiều cách để định nghĩa cấu hình, hoặc hằng số trong nodejs.

    1. Sử dụng biến global :
      global.<name > = < giá trị>
      Ưu điểm : nhanh gọn lẹ, dùng đâu cũng được.
      Nhược điểm : Không được lưu các giá trị có khả năng thay đổi theo thời gian vì giá trị trong global phụ thuộc vào process, nếu bạn chạy ở chế độ cluster mà thay đổi các giá trị trong này sẽ rất dễ lỗi hệ thống nếu không có hệ thống tự đồng bộ. Bên cạnh đó nếu đặt linh tinh khá khó quản lý
    2. Sử dụng cơ chế module :
      Tạo 1 file config.js
      exports.<name> = <giá trị>
      Sử dụng requiređến file đó
      Ưu điểm : đơn giản dễ hiểu, dễ quản lý
      Nhược điểm : lộ quá mức, không đặt được mã hoá .
    3. Thiết lập qua parameter khi chạy node
      node abc.js --<name> <giá trị>
      sử dụng qua
      process.env.<name>
      Cái này mình ít dùng vì lười gõ =))
    4. Sử dụng các dạng file khác qua 1 số module ví dụ như : dotenv ...

    Các giải pháp của bác rất ổn, tuy nhiên tương đối hardcore :/ ...
    Thớt có thể sử dụng module nconf để có thể sử dụng cú pháp đơn giản và dễ hiểu như define() ở PHP của thớt. Mình nhớ không nhầm thì amazon cũng sử dụng module này cho node services của họ.

    “What I Cannot Create, I Do Not Understand”

    0

Log in to reply