es6之export

一:在es6中,export关键字是输出一个对外的接口信息。
export命令除了输出变量,还可以输出函数或类(class)
其规范:


export var name = "allen";
export var year = 20;
//或者
var firstName = 'Michael';
var lastName = 'Jackson';
var year = 1958;

export { firstName, lastName, year };

export function f() {};
//或者
function f() {}
export {f};

上面这都是输出的是一个对象信息,书写都是正确的。

下面这种方式:

export 1;
// 报错
var m = 1;
export m;
//报错
function f() {}
export f;

需要特别注意的是,export命令规定的是对外的接口,必须与模块内部的变量建立一一对应关系。
上面这种方式显然是输出的是一个值,所以不合乎规范。
改成:export {m}; 就是正确的了。

二:export default 命令
export default 就是为模块指定默认输出,显然,一个模块只能有一个默认输出,因此export default 命令只能使用一次。所以,import命令后面才不用加大括号,因为只可能唯一对应export default命令。

例子:


export default function foo(){
  return "foo函数";
}
//或者
function foo(){
  return "foo函数";
}
export default foo;

export default foo ,这里不需要有{},因为一个模块中只有一个默认输出。

export 42;//错误

export default 42;//正确的
// 第一组
export default function foo() { // 输出
  // ...
}

import foo from 'foo'; // 输入
//import 也不需要{}
// 第二组
export function foo() { // 输出
  // ...
};
import {foo} from 'foo'; // 输入
//这里需要大括号
// modules.js
function add(x, y) {
  return x * y;
}
export {add as default};
//相当于 export default add;

import { default as add} from 'modules';
// 等同于
// import add from 'modules';

通过export方式导出,在导入时要加{ },export default则不需要。

三: module.exports
其实有些基本的概念要理解:
module.exports、exports是CommJs规范,而export、export default是es6规范
exports = module.exports。
module.exports所以在使用node中开发的时候,会发现用到的比较多。

例如,webpack的配置文件


let path = require('path');
module.exports = {
  entry : './index.js',
  output: {
        filename: '[name].[hash:8].js',      // 打包后的文件名称
        path: path.resolve(__dirname,'../dist')  // 打包后的目录
    },
}

或者:

module.exports = "hello world";
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值