ES6与node导入导出

1 node 

基础

node 导出语法

var path = { a:1,b:2}

module.exports = path

node 导入语法

const path = require('path') 

 深入

导入分为3 部分,核心模块,第三方库,自定义文件

let fs = require('fs'); // 导入核心系统模块

let my = require('./my.js') // 导入文件或第三方库

 导出用module.exports 和 exports 都行 ,尽量使用 module.exports

当一个模块需要导出特定类型的单个成员的时候,比如数组,方法等, 这个时候必须使用module.exports方法,而exports只能是返回一个object对象。

let a = {"name":"zhangsan"};

let b = "这是一个字符串";

let c = ['1','2','3'];

module.exports = { a,b, c }

 例1

//a.js

function test (args) {

// body... console.log(args);

}

module.exports = {

test

};

//b.js

let { test } = require('./a.js');  (用es6方法取出text)

test('this is a test.');

require的核心概念:在导出的文件中定义module.exports,导出的对象类型不限定, 在导入的文件中使用require()引入即可使用。本质上,是将要导出的对象, 赋值给module这个对象的exports属性,在其他文件中通过require这个方法来访问 exports这个属性。

上面b.js中,require(./a.js) = exports 这个对象, 然后使用es6取值方式从exports对象中取出test的值

例2

// main.js

module.exports = {

a : function() {},

b : 'xxx'

};

// b.js

var m = require('./main');

m.a();

 

2 es6

基础

es6 导出语法

export default {} (只能暴漏一个成员)

export var s = {}(可以暴漏多个成员)

export var b = {}

es6 导入语法

import a from '包名(或者是文件路径)' (导入export default暴漏的成员) import {s} from '包名(或者是文件路径)' (导入export 暴漏的成员,名字要一致)

深入

导出

// .test.js

export {

name:'zs',

age: 20

}

// index.js 

导入

import {name,age} from './test.js

默认导出的模块,让使用者自己命名,且只能使用default导出一次

export default {

name:'zs',

age: 20

}

import m1 from './test.js    //m1为自定义名字

导出的其他模块

export var title = "小星星"

export var content = "哈哈哈"

导入模块

import {title,content} from './test.js

如果非要给导出的非默认模块起别名,使用as起别名:

import m1,{title as title1,content as content1} from './test.js'

注意:使用export暴露的成员,只能使用{}的方式来接收,这种形式,叫做按需导出

同时,如果某些成员,在import的时候不需要,则可以不在{}中定义

注意:使用export导出的成员,必须严格按照导出时的名称,使用{}接收。

// a.js

var b = 'xxx';

export {b};  // 这是ES6的写法,实际上就是{b:b}

export function a () {}

export default function() {}

export {fun as default,a,b};

//b.js

import {a,b} from './a';

import {default as alias, a as a_a, b} from './a';

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值