2015-11-29 43 views
4

有一次,我能夠在導出所有與此類似的組件的所有目錄(組件,存儲等)中創建一個index.js文件,以便於訪問:在index.js文件中導出React組件時出錯

export ComponentA from './ComponentA/ComponentA'; 
export ComponentB from './ComponentB/ComponentB'; 
export ComponentC from './ComponentC/ComponentC'; 

那我就只導入那些我從另一個文件需要這樣

import { ComponentA, ComponentC } from './components'; 

出於某種原因班,現在我現在得到一個錯誤,並且不知道爲什麼

ERROR in ./app/containers/index.js 
Module build failed: SyntaxError: /Users/abritez/Documents/Projects/React-LTI-Toolprovider/app/containers/index.js: Unexpected token (1:7) 
> 1 | export Widgets from './Widgets/Widgets'; 
    |  ^
    2 | 
    at Parser.pp.raise (/Users/abritez/Documents/Projects/React-LTI-Toolprovider/node_modules/babel-loader/node_modules/babel-core/node_modules/babylon/lib/parser/location.js:24:13) 
    at Parser.pp.unexpected (/Users/abritez/Documents/Projects/React-LTI-Toolprovider/node_modules/babel-loader/node_modules/babel-core/node_modules/babylon/lib/parser/util.js:82:8) 
    at Parser.pp.expect (/Users/abritez/Documents/Projects/React-LTI-Toolprovider/node_modules/babel-loader/node_modules/babel-core/node_modules/babylon/lib/parser/util.js:76:33) 
    at Parser.pp.parseExportSpecifiers (/Users/abritez/Documents/Projects/React-LTI-Toolprovider/node_modules/babel-loader/node_modules/babel-core/node_modules/babylon/lib/parser/statement.js:766:8) 
    at Parser.pp.parseExport (/Users/abritez/Documents/Projects/React-LTI-Toolprovider/node_modules/babel-loader/node_modules/babel-core/node_modules/babylon/lib/parser/statement.js:701:28) 
    at Parser.parseExport (/Users/abritez/Documents/Projects/React-LTI-Toolprovider/node_modules/babel-loader/node_modules/babel-core/node_modules/babylon/lib/plugins/flow.js:679:20) 
    at Parser.pp.parseStatement (/Users/abritez/Documents/Projects/React-LTI-Toolprovider/node_modules/babel-loader/node_modules/babel-core/node_modules/babylon/lib/parser/statement.js:115:90) 
    at Parser.parseStatement (/Users/abritez/Documents/Projects/React-LTI-Toolprovider/node_modules/babel-loader/node_modules/babel-core/node_modules/babylon/lib/plugins/flow.js:621:22) 
    at Parser.pp.parseTopLevel (/Users/abritez/Documents/Projects/React-LTI-Toolprovider/node_modules/babel-loader/node_modules/babel-core/node_modules/babylon/lib/parser/statement.js:30:21) 
    at Parser.parse (/Users/abritez/Documents/Projects/React-LTI-Toolprovider/node_modules/babel-loader/node_modules/babel-core/node_modules/babylon/lib/parser/index.js:70:17) 
    at Object.parse (/Users/abritez/Documents/Projects/React-LTI-Toolprovider/node_modules/babel-loader/node_modules/babel-core/node_modules/babylon/lib/index.js:45:50) 
    at Object.exports.default (/Users/abritez/Documents/Projects/React-LTI-Toolprovider/node_modules/babel-loader/node_modules/babel-core/lib/helpers/parse.js:36:18) 
    at File.parse (/Users/abritez/Documents/Projects/React-LTI-Toolprovider/node_modules/babel-loader/node_modules/babel-core/lib/transformation/file/index.js:574:40) 
    at File.parseCode (/Users/abritez/Documents/Projects/React-LTI-Toolprovider/node_modules/babel-loader/node_modules/babel-core/lib/transformation/file/index.js:691:20) 
    at /Users/abritez/Documents/Projects/React-LTI-Toolprovider/node_modules/babel-loader/node_modules/babel-core/lib/transformation/pipeline.js:167:12 
    at File.wrap (/Users/abritez/Documents/Projects/React-LTI-Toolprovider/node_modules/babel-loader/node_modules/babel-core/lib/transformation/file/index.js:639:16) 
@ ./app/routes.js 27:18-41 
+0

並做:

export { ComponentB, ComponentC }; 

索引中的文件,你應該使用這個語法你最近升級? – enjoylife

+0

我看到同樣的事情......出口''意外的標記',但不''進口'... –

+0

我有同樣的問題http://stackoverflow.com/questions/35624221/cant- export-reducer-with-babel你找到了解決方案嗎? – Gpx

回答

3

可能與它不是一個默認導出,或者你的代碼被轉發的方式?

如果僅導出單Widgets,請嘗試:

import Widgets from './Widgets/Widgets'; 
export default Widgets; 
+1

是的,我有同樣的問題,這解決了我的問題。 –

0

在創建索引文件,以使進口組件更容易,你應該使用此語法導出文件:

索引文件:

export { default as ComponentA } from "./ComponentA"; 

Component A file has one export

export default ComponentA; 

,如果你有一個文件多組分有多個出口,例如:你用巴貝爾

export { ComponentB, ComponentC } from "./MultiComponents";