Nodejs sửa đổi tệp js
Gần đây, tôi đang thực hiện một dự án phụ, dựa trên việc đọc và thao tác với các tệp để tạo hình thu nhỏ tùy chỉnh cho quay số nhanh của trình duyệt Vivaldi. Tôi đã có thể thực hiện tất cả trong trình duyệt mà không cần xử lý phía máy chủ và tôi muốn chia sẻ với bạn mọi thứ mà tôi đã học được Show
Hướng dẫn này bao gồm
Để cho phép người dùng của bạn chọn một tệp từ thiết bị của họ, trước tiên bạn phải tạo một Để thực sự lấy các tệp từ đầu vào này, bạn sẽ cần truy cập thuộc tính Cách bạn làm điều đó sẽ phụ thuộc vào khuôn khổ bạn đang sử dụng. Để làm cho hướng dẫn này được áp dụng rộng rãi nhất có thể, chúng tôi sẽ sử dụng vanilla JS Kết quả selectFile là một đối tượng Thuộc tính của tập tin Đầu vào tệp cung cấp cho chúng tôi
Tập tin và đốm màuNgoài
Hai cái này về cơ bản có thể hoán đổi cho nhau và bạn có thể sử dụng cái này ở hầu hết mọi nơi bạn có thể sử dụng cái kia. Tuy nhiên, nếu bạn thực sự cần chuyển đổi chúng, bạn có thể làm như vậy bằng cách sử dụng hàm tạo của loại khác Đọc nội dung của tập tin Được rồi, vậy là chúng ta đã biết cách chọn và lấy thông tin về các tệp, nhưng làm cách nào để chúng ta thực sự đọc nội dung bên trong chúng? . Đối với mục đích của bài viết này, chúng tôi sẽ chỉ tập trung vào các tệp hình ảnh và văn bản Phương pháp linh hoạt và được hỗ trợ tốt nhất để đọc nội dung của tệp là API FileReader. Đó là một API hướng sự kiện, vì vậy thay vì chỉ gọi một hàm và lấy nội dung của tệp, chúng ta phải thực hiện thêm một số bước Hãy bắt đầu với việc đọc một tệp văn bản
Mẹo nhanh. Bạn có thể truy cập trình đọc bên trong trình xử lý sự kiện theo nhiều cách. Xử lý lỗiTrong trường hợp có lỗi, trình xử lý sự kiện lỗi được gọi và bạn có thể tìm thấy đối tượng Lỗi trong
Hầu hết thời gian không cần phân biệt giữa các loại lỗi này, có thể ngoại trừ Trạng thái sẵn sàngThao tác đọc không đồng bộ, vì vậy đừng thử truy cập vào
Thuộc tính Điều tương tự cũng áp dụng cho Các loại sự kiện FileReaderChúng ta đã khám phá hai loại sự kiện đọc phổ biến nhất, giờ hãy nhanh chóng tìm hiểu phần còn lại. FileReader có sáu loại sự kiện
Bạn có thể nhận thấy rằng các sự kiện FileReader hoạt động tương tự như các sự kiện DOM thông thường. Tôi thấy rằng suy nghĩ về chúng như vậy sẽ giúp hiểu bản chất phi tuyến tính, không đồng bộ của chúng dễ dàng hơn rất nhiều 💡 Chú thích bên lề. Giống như với các sự kiện DOM, có thể đăng ký trình xử lý sự kiện bằng cách sử dụng Bãi. chữ()Cũng cần lưu ý rằng để đọc các tệp văn bản, tồn tại một phương pháp mới hơn và đơn giản hơn. Nó không trông đẹp hơn sao? . API này khá mới và hỗ trợ trình duyệt vẫn còn khá kém Làm việc với hình ảnh Bây giờ chúng ta đã biết cách đọc tệp văn bản, hãy chuyển sang phần thú vị hơn. hình ảnh. Để minh họa chủ đề này, chúng ta sẽ xây dựng một bản xem trước đơn giản của hình ảnh đã chọn Loại tập tinTrước tiên, hãy đảm bảo rằng tệp đã chọn thực sự là một hình ảnh. Chúng ta có thể làm điều đó với sự trợ giúp của thuộc tính Thuộc tính
Bạn có thể trộn và kết hợp những thứ này để phù hợp với trường hợp sử dụng cụ thể của mình Xác thực HTML không hoàn hảo mặc dù. Ví dụ: trên Windows, nó sẽ chỉ ẩn các tệp không phù hợp với tiêu chí của bạn, nhưng bạn vẫn có thể chọn “Tất cả tệp (*. *)” hoặc sử dụng tính năng kéo và thả để chọn bất kỳ tệp nào bạn muốn. Tất cả điều này có nghĩa là bạn cũng nên kiểm tra loại tệp bên trong mã javascript của mình Hoặc bạn có thể thiết lập các luồng xử lý riêng cho các loại tệp khác nhau Thật không may, Ngoài ra, hãy nhớ rằng “bất kỳ tệp hình ảnh nào” sẽ khớp (trong số những tệp khác)
Vì vậy, hãy đảm bảo rằng bạn hỗ trợ tất cả các chức năng này hoặc chỉ xác định rõ ràng những loại bạn dự định hỗ trợ URL dữ liệu & URL đối tượngĐể hiển thị một hình ảnh đã chọn, chúng tôi sẽ cần một HTML img và một URL cho thuộc tính URL dữ liệu Đó là kết quả của Định dạng của nó có thể thay đổi một chút tùy thuộc vào loại dữ liệu mà nó đại diện, nhưng đối với hầu hết các tệp, nó trông như thế này. Bởi vì nó thực sự chứa dữ liệu của tệp nên nó có thể được sử dụng ở bất cứ đâu sau khi được tạo mà không cần tệp gốc. Tuyệt đấy URL đối tượng Còn được gọi là URL blob. Đó là kết quả của Nó nhanh hơn và ngắn gọn hơn ObjectURL phải được thu hồi khi không còn cần thiết. Trình duyệt sẽ tự động thực hiện khi tài liệu được tải xuống, tuy nhiên để đạt hiệu suất tối ưu và sử dụng bộ nhớ, bạn không nên dựa vào hành vi đó, đặc biệt là trong các ứng dụng lớn có nhiều URL đối tượng. Thay vào đó, bạn nên gọi rõ ràng 💡 Chú thích bên lề. để lấy dữ liệu tệp được mã hóa base64 từ một dataURL, chỉ cần trích xuất một phần của chuỗi sau dấu phẩy, như thế này. Hiển thị hình ảnh đã chọnHầu hết các URL đối tượng và URL dữ liệu có thể được sử dụng thay thế cho nhau, nhưng chúng đều có điểm mạnh và điểm yếu riêng. Điều này có nghĩa là bạn có thể nên tìm hiểu cả hai và chọn cái nào sẽ sử dụng trong từng trường hợp cụ thể. Hãy xem xét các ví dụ về cả hai, để hiểu rõ hơn về cách thức hoạt động của từng loại Sử dụng FileReader & dataURL
Sử dụng objectURL
💡 Chú thích bên lề. Ở những nơi khác, bạn có thể thấy các hình ảnh được tạo bằng cách sử dụng hàm tạo Hình ảnh i. e. FileListTrước khi chúng tôi chuyển sang đọc nhiều tệp, hãy làm rõ một số thứ. Thuộc tính Bạn cũng có thể nhận thấy rằng mặc dù chúng tôi chỉ làm việc với một tệp duy nhất (cho đến bây giờ), chúng tôi luôn phải viết 💡 Chú thích bên lề. Theo dự thảo làm việc của w3c,
Đọc nhiều tệp Mặc định file input chỉ cho phép ta chọn 1 file duy nhất. Để cho phép chọn nhiều tệp cùng lúc, hãy thêm thuộc tính Trong ví dụ này, tôi sẽ sử dụng Bởi vì chúng ta đã làm hầu hết điều này trước đây, nên tôi sẽ chỉ sử dụng nhận xét để gọi ra các phần quan trọng của mã. Nếu bạn đã bỏ qua các phần trước, tôi khuyên bạn nên quay lại và bắt kịp, tôi sẽ đợi 😉⏳ Như bạn có thể thấy, chúng tôi tạo một phiên bản Đây là một bản tóm tắt về toàn bộ quy trình xử lý tệp, bao gồm tất cả các lớp và phương thức liên quan Cảm ơn vì đã đọc Nếu có điều gì đó không rõ ràng hoặc bạn muốn tôi mở rộng về chủ đề nào đó, hãy cho tôi biết trong phần nhận xét Các bài viết thú vị khácTìm hiểu tất cả 8 thuộc tính CSS nền trong 5 phútGiới thiệu nhanh nhưng đầy đủ về thuộc tính nền CSShadrysmateusz. Trung bình. com Hướng dẫn đầy đủ về CSS GradientsChuyển màu đang quay trở lại, hãy đảm bảo bạn biết cách sử dụng chúnghadrysmateusz. Trung bình. com 20 bộ chọn CSS bạn cần biếtĐảm bảo bạn biết các Bộ chọn CSS quan trọng nàyTrung bình. com Ngoài ra, nếu bạn là một người hâm mộ Vivaldi như tôi, hãy xem Trình tạo hình thu nhỏ Vivaldi của tôi, đó là một công cụ miễn phí do tôi tạo ra vì tôi đã quá mệt mỏi với việc tạo hình thu nhỏ theo cách thủ công. Nó sử dụng rất nhiều khái niệm từ bài đăng này và bạn có thể xem toàn bộ mã nguồn trên GitHub Làm cách nào để chỉnh sửa tệp JavaScript?Sau khi tải hoàn toàn một trang web, nhấn phím F12 để mở công cụ dành cho nhà phát triển, sau đó mở tab 'Nguồn'. Bây giờ hãy mở bất kỳ tệp Javascript nào được tải trên trình duyệt và bạn có thể chỉnh sửa trực tiếp tệp đó bằng cách nhấp vào bất kỳ đâu trong tệp đó. Sau khi sửa xong nhấn Ctrl+S để lưu thay đổi
JavaScript có thể chỉnh sửa tệp văn bản không?Bạn có thể đọc dữ liệu trong tệp văn bản, sửa đổi dữ liệu đó trong JavaScript phía máy khách (không có Nút), sau đó xuất và lưu lại . Tuy nhiên, nó yêu cầu sự tương tác của người dùng.
Làm cách nào để đọc tệp js trong JavaScript?Để đọc tệp, sử dụng FileReader , cho phép bạn đọc nội dung của đối tượng Tệp vào bộ nhớ. Bạn có thể hướng dẫn FileReader đọc tệp dưới dạng bộ đệm mảng, URL dữ liệu hoặc văn bản. // Kiểm tra xem file có phải là ảnh không.
Cách tạo một nút. tập tin js?Tạo ứng dụng web NodeJS đầu tiên của bạn bằng Express . Mở dòng lệnh của bạn (Command Prompt, Powershell hoặc bất cứ thứ gì bạn thích) Tạo một thư mục dự án mới. mkdir ExpressProjects và nhập thư mục đó. cd ExpressProjects Sử dụng Express để tạo mẫu dự án HelloWorld. trình tạo nhanh npx HelloWorld --view=pug |