VUE中的模块化和Node.js中的模块化的区别

一.VUE中的模块化

1.导出 exportexpore default

// aaa.js
let name = '小明'

function sum(num1, num2) {
  return num1 + num2
}


// 1.导出方式一:
export {
  flag, sum
}

// 2.导出方式二:
export let num1 = 1000


// 3.导出函数/类
export function mul(num1, num2) {
  return num1 * num2
}
export class Person {
  run() {
    console.log('在奔跑');
  }
}

某些情况下,一个模块中包含某个的功能,我们并不希望给这个功能命名,而且让导入者可以自己来命名,这个时候就可以使用 export default:

注意:export default在同一个模块中,不允许同时存在多个

export default function (argument) {
  console.log(argument);
}

2.导入 import

import {name, sum} from "./aaa.js"

import * as aaa from './aaa.js'


console.log(aaa.flag);
console.log(aaa.height);

导入 export default 导出的内容,可以在导入的模块重新命名 

import addr from "./aaa.js";

addr('你好啊');

 

二.Node.js中的模块化

1.导出 module.exports 和 exports

node.js中的每个模块会导出一个 mudule.exports 对象,默认是空对象,并定义一个简化的 exports 对象指向 mudule.exports    ,将模块中需要导出的变量函数等挂载到这个mudule.exports或者 exports

// a.js
exports.foo = 'hello'
module.exports.name = 'world'

exports.add = function (x, y) {
  return x + y
}

需要注意的是:可以直接给mudule.exports赋值,但是不能直接给exports 赋值,因为exports 是指向mudule.exports,模块中导出的是mudule.exports

let name = 'lisa'
function add(num1,num2) {
  return num1+num2
}

module.exports = {
  name,add
}

2.导入 require

require 方法有两个作用:

1. 加载文件模块并执行里面的代码

2. 拿到被加载文件模块导出的接口对象

let aData = require('./a')

console.log(aData.name) //world
console.log(add(1,2))   //3

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值