簡體   English   中英

如何在 Babel 中將 * 導出為命名空間?

[英]How can I export * as namespace in Babel?

我正在使用 TypeScript 3.8 編寫 JS 和 TS 的混合代碼。 我寫了以下行:

export * as Easing from './easing';

在 TypeScript 3.8 中應該是公平的游戲 但是,我正在使用 Webpack 進行編譯,並且我沒有使用ts-loader ,僅使用帶有 TypeScript 預設的babel-loader ,並且似乎 Babel 不支持此語法。 我收到此錯誤:

 ERROR in./src/index.ts Module build failed (from./node_modules/babel-loader/lib/index.js): SyntaxError: /home/laptou/projects/my-project/src/index.ts: Unexpected export specifier type 30 | default as Clock, addUpdateListener, after, chain, clock, infinite, tween 31 | } from './clock'; 32 | export * as Easing from './easing'; | ^^^^^^^^^^^ 33 | export type { Tween, TweenOptions, TweenStatus } from './tween'; 34 | export { default as InterpolateTween } from './tween/interpolate'

我怎樣才能解決這個問題?

我之前在這里問過這個問題: namespace export from index.js

import * as Easing from './easing';
export { Easing }

嘗試這個

// ./some/someFile.ts

export function util1 () {
...
}

export function util2 () {
...
}

export function util3 () {
...
}

一個在你的索引或你導入你的函數的任何文件上

// ./some/index.ts

export * as utils from "./someFile";

如果無論如何你會遇到一些問題。

將您的 index.ts 更改為:

import * as utils from "./someFile";

export { utils };

或者我們可以使用舊的但始終受信任的默認形式:

// ./some/someFile.ts

function util1 () {
...
}

function util2 () {
...
}

function util3 () {
...
}

export default {
   util1,
   util2,
   util3
}

在索引處

import utils from "./someFile";
export { utils };

// or
export { default as utils } from "./someFile";

暫無
暫無

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

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