Tôi nhận được ba thông báo cảnh báo khi nhập requestvào một dự án webpack khung. Một ví dụ tối thiểu để tái tạo lỗi có sẵn trên GitHub (chạy npm installvà npm start).
Critical dependency: the request of a dependency is an expression
Làm cách nào để thoát khỏi cảnh báo này?
Thêm thông tin:
Webpack cố gắng giải quyết requirecác cuộc gọi một cách tĩnh để tạo ra một gói tối thiểu. Khi một thư viện sử dụng các biến hoặc biểu thức trong một yêu cầu cuộc gọi (như require('' + 'nodent')ở những dòng này của ajv), Webpack không thể giải quyết chúng tĩnh và nhập khẩu toàn bộ gói.
Cơ sở lý luận của tôi là quá trình nhập động này không được mong muốn trong quá trình sản xuất và mã tốt nhất là không có cảnh báo. Điều đó có nghĩa là tôi muốn có bất kỳ giải pháp nào giải quyết được vấn đề. Ví dụ:
- Định cấu hình webpack theo cách thủ công để nhập các thư viện cần thiết và ngăn các cảnh báo xảy ra.
- Thêm
hack.jstệp vào dự án của tôi để ghi đè các lệnh gọi yêu cầu theo một cách nào đó. - Nâng cấp thư viện của tôi.
ajv-5.0.1-beta.3có một bản sửa lỗi làm im lặng các cảnh báo. Tuy nhiên, nếu tôi muốn sử dụng nó, tôi phải đợi cho đến khi nó được phát hành, sau đó đếnhar-validatorvàrequestphát hành các bản cập nhật tiếp theo. Nếu có một cách để buộchar-validatorsử dụng phiên bản beta củaajv, điều đó sẽ giải quyết được vấn đề của tôi. - Khác