import和require导入的区别
摘要:import和require导入的区别
总的区别
require | import |
---|---|
动态评估 | 静态评估 |
再运行时报错 | 再解析时报错 |
不是关键词 | 是关键词 |
commonJS | ES6 |
代码中任何位置 | 必须代码文件的头部 |
值传递 | 引用传递 |
requir和import的用法
require的用法
(1)
//a.js
module.exports = {
a : function() {},
b : 'xxx'
};
//b.js
var m = require('./a');
m.a();
(2)
//hello.js
exports.world = function() {
console.log('Hello World');
}
//main.js
var hello = require('./hello');
hello.world();
(3)
//hello.js
function Hello() {
var name;
this.setName = function(thyName) {
name = thyName;
};
this.sayHello = function() {
console.log('Hello ' + name);
};
};
module.exports = Hello;
//main.js
var Hello = require('./hello');
hello = new Hello();
hello.setName('BYVoid');
hello.sayHello();
import的用法
(1)
//a.js
var a = function() {};
export {a};
或者
export var a = function() {};
import {a} from './a';
a();
(2)
//model.js
let e1='export 1';
let e2='export 2';
export {e2};
export default e1;
//main.js
import e1, {e2}from "./model";
console.log(e1);
console.log(e2);
requir和import的区别
require是值传递,import相当于引用传递。
require例子
//model.js
let e2='export 2';
export.e2=e2;
e2='export 2 modified';
//index.js
daochu = requirment("./model");
console.log(daochu.e2);
#index.js执行结果
export 2
import例子
//model.js
let e2='export 2';
export {e2};
e2='export 2 modified';
//index.js
import {e2} from "./model";
console.log(e2);
#index.js执行结果
export 2 modified
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。