我有一个文件
src/Button/Button.tsx
:
export default function Button(){}
export interface ButtonProps {}
我正在重新导出一个文件中的所有导出
src/Button/index.ts
:
export * from './Button'; //i.e src/Button/Button.tsx
在我的条目文件中,我正在重新导出所有内容,包括此特定组件:
export { ButtonProps, default as Button } from './Button'; //i.e src/Button/index.ts
但是,当使用rollup运行umd构建时,我在上面的行中得到一个错误:
src/index.ts â dist/comp-framework.js...
[!] Error: 'default' is not exported by src\Button\index.ts
https://rollupjs.org/guide/en/#error-name-is-not-exported-by-module-
src\index.ts (1:22)
1: export { ButtonProps, default as Button } from './Button';
Error: 'default' is not exported by src\Button\index.ts
这很奇怪因为跑步
tsc
工作非常好。所以这肯定是rollup或typescript插件的问题。我的汇总配置(我已删除除ts以外的所有其他插件以缩小问题范围):
import typescript from 'rollup-plugin-typescript2';
const input = 'src/index.ts';
const globals = {
react: 'React',
'react-dom': 'ReactDOM',
};
const tsOverrides = {
compilerOptions: {
module: 'es2015',
declaration: false,
}
};
export default [
{
input,
output: {
file: 'dist/comp-framework.js',
format: 'umd',
name: 'CompFramework',
globals
},
external: Object.keys(globals),
plugins: [
typescript({ typescript: require('typescript'), tsconfigOverride: tsOverrides, rollupCommonJSResolveHack: true }),
]
},
{
input,
output: {
file: 'dist/comp-framework.min.js',
format: 'umd',
name: 'CompFramework',
globals
},
external: Object.keys(globals),
plugins: [
typescript({ typescript: require('typescript'), tsconfigOverride: tsOverrides, rollupCommonJSResolveHack: true }),
]
}
]
编辑:
example on the REPL