簡體   English   中英

是否可以在ES2015中導出“import * as”的結果?

[英]Is it possible to export the result of “import * as” in ES2015?

在ES2015中,可以將整個模塊導入為其屬性為模塊導出的對象:

import * as name from 'module';

我發現這對於命名空間非常有用,並且一直使用它。

也可以重新導出其他模塊的導出:

export { name } from 'module'; // selectively
export * from 'other-module'; // indiscriminately

現在我正在嘗試用這種風格編寫一個帶有命名空間的庫。 在頂級模塊中收集所有內容的直觀方式如下:

export * as name from 'module';

但這似乎不起作用; Babel和Rollup都拒絕了它。

可以將模塊作為對象導入,通過迭代其鍵來創建克隆,然后導出它,但它只是一個普通的舊動態對象,所以我將失去Rollup提供的巨大優勢。

那么,使用聲明性模塊語法真的沒辦法做到這一點嗎? 在我看來,沒有任何借口。

不,這只是在ES6中錯過了。 但是,有一個第1階段提議添加這些,並且匯總將考慮實施它

在此之前,您需要使用兩個聲明和一個本地綁定,盡管不需要克隆該對象:

import * as name from 'module';
export { name };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM