2017-04-19 46 views
1

当我尝试导出我的组件我的编辑告诉我一个错误export declaration statement expected阵营出口报关声明预计

这里是我的代码:

export Header from './Header/Header'; 

,但如果我这样做:

export {default as Header} from './Header/Header'; 

它不显示任何错误。

我Header.js

export default class Header extends React.Component { 
    //code 
} 

我下面这个例子https://github.com/erikras/react-redux-universal-hot-example/blob/master/src/components/index.js

我的组件文件夹结构和出口方式同样喜欢那些链接。

任何解决方案?

+0

从'./Header/Header'输出{默认为标题};'看起来正确。那有什么问题? –

+0

@Felix Kling没有问题。我很好奇为什么在我发布的链接,没有问题 – ssuhat

回答

3

任何解决方案?

export Header from './Header/Header';是无效语法,但是存在支持它的proposal

您链接到configured babel信息库通过使用stage-0预设支持该提议的特性:

{ 
    "presets": ["react", "es2015", "stage-0"], 
    ... 
} 

stage-0包括stage-1其中包含了实现此功能的transform-export-extensions plugin


但要清楚,你不使用这项实验性功能。

export {default as Header} from './Header/Header'; 

具有相同的效果,并且是标准ES6。

+0

嗨,赶上!我正在使用vscode并将.babelrc设置为使用stage-0,为什么它仍然显示错误(包已安装)? – ssuhat

+0

我不知道vscode是如何工作的,它可能不知道babel。我不希望IDE支持每个实验性功能。 –

0

尝试 export default from './Header/Header';

+0

我不能这样做。我需要全局调用这个文件。 – ssuhat

+0

这种形式没有正式的支持,它只存在[* proposal *](https://github.com/leebyron/ecmascript-export-default-from)。如果您建议使用实验性功能,那么请解释如何使用它们。 –

+0

我明白了。我不确定你使用的是什么编辑器,但是'./Header/Header';'的输出标题适用于我。我使用WebStorm。 – Hannan