Hướng dẫn read yaml file javascript - đọc tệp yaml javascript
Giới thiệuTrong vài năm qua, YAML, viết tắt của YAML không phải là ngôn ngữ đánh dấu, đã trở nên rất phổ biến để sử dụng trong việc lưu trữ dữ liệu theo cách mạng, thường là các tệp cấu hình. Vì YAML về cơ bản là một định dạng dữ liệu, đặc tả YAML, khá ngắn gọn. Do đó, chức năng duy nhất cần thiết của các thư viện YAML là khả năng phân tích hoặc tạo các tệp có định dạng YAML. Trong bài viết này, chúng tôi sẽ xem cách bạn có thể sử dụng YAML với ứng dụng Node.js. Chúng tôi sẽ bắt đầu bằng cách xem cách dữ liệu được lưu trữ trong tệp YAML, theo sau là tải dữ liệu đó vào một đối tượng JavaScript. Cuối cùng, chúng ta sẽ học cách lưu trữ một đối tượng JavaScript trong tệp YAML. Có một vài thư viện nút phổ biến được sử dụng để phân tích cú pháp và tạo yaml: yaml và js-yaml. 5 là phổ biến hơn trong hai thư viện, vì vậy đó là những gì chúng tôi sẽ tập trung vào bài viết này.Trước khi chúng tôi tiến xa hơn, có một vài điều kiện tiên quyết cho hướng dẫn này. Bạn nên có một sự hiểu biết cơ bản về cú pháp của JavaScript, cụ thể là thời gian chạy Node.js. Bạn cũng sẽ muốn cài đặt Node.js và NPM trên hệ thống của bạn để theo dõi. Ngoài ra, hướng dẫn khá đơn giản và dễ theo dõi cho người mới bắt đầu. Cài đặtNhư với bất kỳ gói nút nào, các cài đặt khá đơn giản khi sử dụng NPM:
Chỉ cần chắc chắn sử dụng các cờ chính xác để lưu phụ thuộc trong tệp pack.json của bạn. Ví dụ: nếu 5 chỉ được sử dụng cho mục đích phát triển, thì hãy sử dụng 7, nếu không hãy sử dụng 8 nếu nó được sử dụng trong môi trường sản xuất ứng dụng của bạn.Bạn có thể xác minh rằng nó được cài đặt chính xác bằng cách mở bản phát từ cùng một thư mục và nhập gói với các mục sau:
Thư viện 5 cũng hỗ trợ việc sử dụng CLI, cho phép bạn kiểm tra các tệp YAML từ dòng lệnh. Bạn có thể kích hoạt điều này bằng cách cài đặt gói trên toàn cầu:
Đọc các tệp yaml trong node.jsChúng tôi sẽ bắt đầu bằng cách đọc một tệp có định dạng YAML và phân tích nó vào đối tượng JS. Vì lợi ích của hướng dẫn này, giả sử chúng tôi có một tệp, 0, có nội dung sau:
Để đọc và phân tích tệp này, chúng tôi sẽ sử dụng phương thức 1:
Chạy mã này sẽ xuất ra như sau:
Bạn có thể thấy rằng dữ liệu trong tệp YAML hiện được chuyển đổi thành các chữ và đối tượng JS trong cùng cấu trúc với tệp. Phương pháp 1 được khuyến nghị để phân tích nội dung YAML vì nó an toàn cho dữ liệu không tin cậy. Một hạn chế đáng chú ý là phương pháp này không hỗ trợ các nguồn đa tài liệu. Nếu bạn quen thuộc với YAML, bạn sẽ biết rằng YAML có thể chứa nhiều "tài liệu" trong một tệp, được phân tách bằng cú pháp 3. Ví dụ:
Đang tải tệp này với 1 sẽ ném một ngoại lệ. Thay vào đó, bạn nên sử dụng phương thức 5, như vậy:
Điều này dẫn đến một loạt các tài liệu YAML phân tích cú pháp:
Một phương pháp khác đáng được đề cập là phương pháp 6, rất giống với 1, ngoại trừ việc nó hỗ trợ tất cả các loại lược đồ YAML. Các loại được hỗ trợ bổ sung dành riêng cho JavaScript ( 8, 9 và 0) và bạn phải hoàn toàn tin tưởng dữ liệu trong các tệp YAML này vì nó có thể tải mã không đáng tin cậy.Kiểm tra hướng dẫn thực hành của chúng tôi, thực tế để học Git, với các thực hành tốt nhất, các tiêu chuẩn được công nghiệp chấp nhận và bao gồm bảng gian lận. Ngừng các lệnh git googling và thực sự tìm hiểu nó! Ví dụ, một hàm có thể được xác định trong YAML như sau:
Thẻ đó cho thư viện YAML của chúng tôi phân tích nó là một hàm, sau đó có thể được thực thi sau. Như đã chỉ ra trong tài liệu, một phương pháp phổ biến được thực thi trên các đối tượng JS là 1, mà chúng ta có thể khai thác như thế này: 0Và chạy mã này cho thấy phương thức 2 thực sự được thực thi: 1Viết YAML vào các tệp trong Node.jsBây giờ bạn đã biết cách đọc các tệp yaml với node.js, hãy xem cách chúng ta có thể viết các đối tượng/dữ liệu JavaScript vào tệp yaml. Trong ví dụ này, chúng tôi sẽ sử dụng đối tượng JS sau đây mà bạn có thể nhận ra từ các ví dụ trước: 2Để tuần tự hóa đối tượng này và lưu nó vào tệp được định dạng YAML, chúng tôi sẽ sử dụng phương thức 3, một lần nữa sử dụng ________ 15 của 5: 3Thực hiện mã này sẽ ghi ra một tệp yaml trông như thế này: 4Đầu ra này gần như giống hệt với YAML ban đầu mà chúng tôi đã đọc trước đó trong bài viết, ngoại trừ việc phân tách tài liệu ( 3) không được bao gồm.Loại dữ liệuĐiều quan trọng cần lưu ý là không phải tất cả các loại dữ liệu JavaScript có thể được tuần tự hóa trực tiếp thành YAML và ngược lại. Trong một số trường hợp, loại dữ liệu gần nhất sẽ được sử dụng khi có thể nếu nó không được hỗ trợ trực tiếp. Ví dụ, loại YAML 7 sẽ được phân tích cú pháp như một mảng JavaScript.Theo tài liệu JS-YAML, các loại dữ liệu sau đây được hỗ trợ:
các cặp mảng hoặc mảng !!bộ
6Mảng các đối tượng có các khóa và giá trị null đã cho |