I am working on code that is a mixture of JS and TS, using TypeScript 3.8. I wrote the following line:
export * as Easing from './easing';
Which should be fair game in TypeScript 3.8. However, I am compiling using Webpack, and I am not using ts-loader
, only babel-loader
with the TypeScript preset, and it seems like Babel does not support this syntax. I'm getting this error:
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'
How can I fix this?
I've asked this question before here: namespace export from index.js
import * as Easing from './easing';
export { Easing }
try this
// ./some/someFile.ts
export function util1 () {
...
}
export function util2 () {
...
}
export function util3 () {
...
}
An on your index or any file you import yow functions
// ./some/index.ts
export * as utils from "./someFile";
If by any means you get some problems.
Change your index.ts to:
import * as utils from "./someFile";
export { utils };
or we could used the old but always trusted default form:
// ./some/someFile.ts
function util1 () {
...
}
function util2 () {
...
}
function util3 () {
...
}
export default {
util1,
util2,
util3
}
at the index
import utils from "./someFile";
export { utils };
// or
export { default as utils } from "./someFile";
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.