es6和node.js导出导入的区别

es6导出导入

// 导入
import  Login from './view/Login.vue'  // 导入vue的组件
import  './css/login.css'              // 导入普通静态资源文件

// 导出
// *** 注意: export default 只能导出一个对象 ***

// (1)vue项目开始,导出一个单文件组件
export default {
   data(){
     return{
          msg: '这是单文件组件的数据'
      } 
   },
   methods:{},
}

// (2)平常导出一个普通对象
let obj = { "name":"zhangsan" };
export default obj;
//普通导出
export  {
    name:'zs',
    age: 20
}

//默认导出的模块,让使用者自己命名,且只能使用default导出一次。
export default {
    name:'zs',
    age: 20
}

//导出的其他模块
export var title = "小星星"
export var content = "哈哈哈" 



//导入模块
import {name,age} from './test.js

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

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

console.log(m1)
console.log(title+"------"+content)

注意:使用export暴露的成员,只能使用{}的方式来接收,这种形式,叫做按需导出
同时,如果某些成员,在import的时候不需要,则可以不在{}中定义
注意:使用export导出的成员,必须严格按照导出时的名称,使用{}接收。
如果非要给导出的非默认模块起别名,使用as起别名:

import m1,{title as title1,content as content1} from './test.js'
console.log(m1)
console.log(title1+"------"+content1)

node.js中的导出导入



// 导入 , 内容分三种,核心模块,第三方库,自定义文件

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,
}


//a.js
function test (args) {
  // body...
  console.log(args);	
}
 
module.exports = {
  test
};
//b.js
let { test } = require('./a.js');
 
test('this is a test.');

require的核心概念:在导出的文件中定义module.exports,导出的对象类型不予限定(可为任意类型)。在导入的文件中使用require()引入即可使用。本质上,是将要导出的对象,赋值给module这个对象的exports属性,在其他文件中通过require这个方法来访问exports这个属性。上面b.js中,require(./a.js) = exports 这个对象,然后使用es6取值方式从exports对象中取出test的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值