//Govegan.js
console.log('inside Govegan.js');
export function MyLife(){
//empty funciton
}
//index.js
import React from 'react';
import ReactDOM from 'react-dom';
import {Govegan} from './Govegan';
class App extends.React.Component{
render(){
return(<div>Hello</div>);
}
}
ReactDOM.render(<App/>, document.getElementById('app'));
//console output: inside Govegan.js
在MyLife函数仍然在index.js中运行之前的Console.log,即使我们刚刚导入了一个空的MyLife函数。
答案 0 :(得分:2)
当您的ES6代码被转换为ES5然后执行时,预计会发生所描述的行为。
在当前的模块系统(ES5)中,需要执行代码以找出导出的内容和导入的内容。
这是您导入console.log
时导入的原因,因为导入的文件已被执行。
在ES6中,预计不会发生这种情况,因为导入和导出是在编译时静态识别的,并且不需要执行代码来解析导入和导出。