require和import的区别

require

//index1.js
module.exports = {
    fn:function(){
        console.log(787878)
    },
    name:'bob'
}
//index.js
let obj = require('./index1.js');
obj.fn();
console.log(obj.name);
//结果
//787878
//bob

import

//index1.js
let fn = function(){
    console.log(787878);
};
let name = 'bob';
export {
    fn,
    name
}
//index.js
import {fn,name} from './index1.js'
fn();
console.log(name);
//结果
//787878
//bob
区别

1.使用语法上的区别;
2.使用require其实是先将要导出的数据赋值给module的exports属性,然后在另一个js文件中访问该属性,并且赋值个一个新的变量。而使用import,export的数据结构和import的数据结构必须一致,这其实是一个赋值结构的过程;
3.import是在代码编译时就加载,因此在代码首部就引入,而require是运行时才加载

你可能感兴趣的:(require和import的区别)