2015-12-28 26 views

Trả lời

5

Tôi vừa mới bắt đầu đi sâu vào ES6, nhưng tôi tin rằng đó sẽ là một cái gì đó như:

import * as routes from './routes'; 

... giả ./routes là một mô-đun ES6 xuất khẩu một cái gì đó.

này sau đó có thể được sử dụng ngay lập tức như vậy:

import * as routes from './routes'; 

doAThing(routes.myVar, routes.myMethod()); 

Nếu module chỉ có một tên xuất khẩu duy nhất, nó vẫn còn hai dòng để nhập khẩu, sau đó gọi:

import { name } from './routes'; 
name(); 

Đây là tương tự cho bất kỳ số lượng hàng xuất khẩu nào:

import { name1, name2 } from './routes'; 
name1(); 
name2(); 

Nhập khẩu tốt hơn như được viết ở trên:

import * as routes from './routes'; 
routes.foo(); 
routes.bar(); 

tôi sử dụng định dạng "đề nghị" từ this Axel Rauschmayer post liên quan đến module ES6, nhưng tùy thuộc vào những gì các module xuất khẩu tuyên bố nhập khẩu của bạn có thể trông khác:

nhập khẩu * như fs từ 'fs'; // được đề xuất

Tôi tìm cú pháp này (1 dòng để nhập, 1 dòng để gọi) rõ ràng và dễ đọc, vì vậy tôi thích nó. Đối với một số người, nó có vẻ không may. Tuy nhiên, dòng dưới cùng là there is no one line import/invoke in ES6

+0

Đó chỉ là nhập. Tôi quan tâm đến việc gọi hàm inline được nhập. – krl

+1

Xin lỗi tôi đã hiểu nhầm câu hỏi của bạn. Hãy để tôi kiểm tra lại cú pháp và xem liệu tôi có thể cập nhật thêm nữa hay không. – rockerest

+0

Có, vì vậy chúng tôi nhận được 2 dòng trong mô-đun ES6 và 1 dòng 'require ('...')()' trong Node.js. Có một lớp lót không? – krl

Các vấn đề liên quan