Webpack sẽ bao gồm tất cả của d3.js trong gói khi làm import { select } from 'd3'
như đã thấy trong bundle visualization. vấn đề sau đây có thể được giải quyết bằng cách làm import { select } from 'd3-selection'
nhưng điều này đánh bại mục đích của cây tự động lắc nhẹ.Webpack 2 Không Tree Lắc D3.js đúng
Rung cây dường như hoạt động trong các trường hợp đơn giản trên mã không phải thư viện của chúng tôi.
Chúng tôi sử dụng "modules": false
trong .babelrc
của chúng tôi để giữ lại cú pháp mô-đun và sử dụng 'module'
quyết tâm trong webpack.config.js của chúng tôi resolve: { mainFields: ['module', 'browser', 'main'] }
để chọn mã mô-đun dựa d3 của. Như bạn có thể thấy, nhập khẩu node_modules/d3/index.js được phân đoạn trong các mô-đun ES6 thay vì một gói trình duyệt nguyên khối hoặc xuất khẩu CommonJS.
Điều này có nên được đăng dưới dạng sự cố trên trang web github của webpack hay tôi đang làm điều gì sai? Đây là sử dụng tất cả các phiên bản mới nhất của các thư viện ([email protected]
, [email protected]
, vv)
chỉnh sửa: Có vẻ như thế này có liên quan đến các vấn đề sau:
Chỉ muốn nhận xét rằng tôi đã gặp sự cố tương tự với Webpack 2.2.1 và d3 4.6.0. Cây lắc làm việc cho các thư viện khác. Xin vui lòng bình luận nếu bạn đã tìm thấy bất kỳ giải pháp. – Nicd
Có vẻ như có một plugin webpack mới để xử lý Common JS. Vui lòng xem câu trả lời cập nhật của tôi. – nickytonline
Trong khi lỗi rõ ràng đang được sửa (nếu có thể) tôi sẽ xem xét việc nhập từ một mô-đun cụ thể hơn. Ví dụ. 'import {select} từ 'd3-selection'', hoặc thậm chí' import select from' d3-selection/src/select''. –