es6 export throws Parsing error: Unexpected token
es6 export throws Parsing error: Unexpected token
App.js:
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
class App extends Component {
render() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
}
};
export App
index.js:
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
ReactDOM.render(<App />, document.getElementById('root'));
(1)当我 运行 上面的代码时,我在 App.js 的最后一行收到以下错误,即导出语句
"parsing error:unexpected token"
即使将模块导入为
,错误也不会消失
import { App } from './App';
我知道我们可以通过写
来修复这个错误
export default App
而不是
export App
如果我们像下面这样将 export 附加到应用程序,它也可以工作
export class App extends Component {
render() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
}
};
我无法弄清楚导出语句的这种行为。我用谷歌搜索,但它们只会让我更加困惑。
2)
还有什么区别
export App
对
export const App
- 您收到错误消息,因为您的导出语法无效。请尝试
export class App
。
- 当你写
export class App
时,意味着你从这个模块中导出一个名称为'App'的class。然后可以按其名称导入它,如下所示:import { App } from App.js
;
export default
使传递的实体成为默认的导出实体。这意味着当您在 import 语句中不指定名称时,将导入默认实体。
// App.js
export default App;
// other_module.js
import App from App.js // import default from App.js and put it into 'App' var
export const App
表示 App 在导入它的模块中不会发生变化。 export App
是无效语法,请查看 export let
以了解有何区别。
App.js:
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
class App extends Component {
render() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
}
};
export App
index.js:
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
ReactDOM.render(<App />, document.getElementById('root'));
(1)当我 运行 上面的代码时,我在 App.js 的最后一行收到以下错误,即导出语句
"parsing error:unexpected token"
即使将模块导入为
,错误也不会消失import { App } from './App';
我知道我们可以通过写
来修复这个错误export default App
而不是
export App
如果我们像下面这样将 export 附加到应用程序,它也可以工作
export class App extends Component {
render() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
}
};
我无法弄清楚导出语句的这种行为。我用谷歌搜索,但它们只会让我更加困惑。
2)
还有什么区别export App
对
export const App
- 您收到错误消息,因为您的导出语法无效。请尝试
export class App
。 - 当你写
export class App
时,意味着你从这个模块中导出一个名称为'App'的class。然后可以按其名称导入它,如下所示:import { App } from App.js
; export default
使传递的实体成为默认的导出实体。这意味着当您在 import 语句中不指定名称时,将导入默认实体。
// App.js
export default App;
// other_module.js
import App from App.js // import default from App.js and put it into 'App' var
export const App
表示 App 在导入它的模块中不会发生变化。export App
是无效语法,请查看export let
以了解有何区别。