2017-04-19 64 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