Tôi cần phải làm một cái gì đó như:
if (condition) {
import something from 'something';
}
// ...
if (something) {
something.doStuff();
}
Các mã trên không biên dịch; nó ném SyntaxError: ... 'import' and 'export' may only appear at the top level.
Tôi đã thử sử dụng System.importnhư hiển thị ở đây , nhưng tôi không biết từ đâu Systemđến. Đây có phải là một đề xuất ES6 cuối cùng không được chấp nhận? Liên kết đến "API lập trình" từ bài viết đó đưa tôi đến trang tài liệu không dùng nữa .
package.json; gulpfilesau đó tôi kiểm tra xem sự phụ thuộc đó có tồn tại trước khi thực hiện một số bước xây dựng không.
webpackvà babelchuyển mã es6 sang es5. Các dự án webpack-rewiretương tự và tương tự không phải là để giúp đỡ ở đây - github.com/jhnns/rewire-webpack/issues/12 . Một cách để đặt kiểm tra nhân đôi HOẶC để loại bỏ các phụ thuộc có vấn đề có thể là nhập có điều kiện.
webpackđược sử dụng để chuyển đổi biểu định kiểu thành các mô-đun chèn các kiểu có liên quan vào DOM khi chúng được nhập) nhưng mô-đun cũng cần chạy bên ngoài trình duyệt (ví dụ: để kiểm tra đơn vị).