为了账号安全,请及时绑定邮箱和手机立即绑定

import和require的区别

标签:
JavaScript

import导入模块,import的语法跟require不同,而且import必须放在文件的最开始,且前面不允许有其他的逻辑代码;

写个简单js文件,假设名字为lib.js.假设内容如下:

export const sqrt=Math.sqrt;
export function square (x){
    return x*x
};
export function diag (x,y){
    return sqrt( square(x) + square (y) );
}

在其他地方对lib中定义的属性和方法进行引用,引用方法有两种,import和require;

方法一:import { square ,diag} from 'lib';

方法二:import * as lib from 'lib';

设置默认的导出信息,需要lib.js中定义export default{},default后面可以接一个参数,也可以接一个数组;

//module1.js
export default 123;
//module2.js
const D=123;
export {D as default};
node的module遵循Common.js规范,require.js遵循AMD,seaJS遵循CMD;
as关键字(主要可以解决重名问题)
as简单的说就是取一个别名,export中可以用,import中其实也可以用;
//a.js
var a=function(){},export { a as fun};
//b.js
import { fun as a} from './a';a()

default关键字

在export的时候,可能会用到default,说白了,其实是别名的语法糖;

例如:export default function(){};

//等效于:function a(){};export {a as default};
在import的时候,可以这样用;
import a from './d';
//等效于,下面简写
import {default as a} from './d'

总结:这种语法糖的好处就是import的时候,可以省去花括号{},简单的说,如果import的时候,你发现某个变量没有花括号括起来(没有*号),就是as语法的简写;

原文出处

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消