export & import、export default & import、exports & require的用法总结

59 阅读1分钟

一、export导出 & import导入

export导出变量、方法、模块等

//例如: a.js
export const str = "export的内容";
export const year =2019;
export function myFunction() {
  console.log('Hello World');
}
// 除了上述的写法,还有一种推荐使用的,尾部导出明了。
const str = "export的内容";
const year =2019;
function myFunction() {
 console.log('Hello World');
}
export {str,year ,myFunction}

二、export default & import

一个js文件里面export default仅有一个

//a.js
const str = "export default的内容";
export default str
// 在另一个文件中的导入方式: 
//b.js 
import StrFile from 'a'; 
//导入的时候没有花括号
//本质上,a.js文件的export default输出一个叫做default的变量,然后系统允许你引入的时候为它 **取任意名字**。
//下面的语法也行
export {default as Home} from './Home.js'
export {default as Side} from './Side.js'
export {default as Nav} from './Nav.js'

三、exports & require

require 运行时调用,动态执行的, 所以require理论上可以运用在代码的任何地方, 所以在性能上会比import差一些, require导入模块就没那么复杂了, 导出时是什么样, 导入时就还是什么样

//导出
// output.js
const Name1 = 'hhh1';
const Name2 = 'hhh2';
module.exports = { 
    Name1, 
    Name2,
  };
//导入
// input.js
const test = require('./output.js');
console.log(test.Name1); // hhh1
console.log(test.Name2); // hhh2