VueVuejs从入门到精通 - 前端模块化

Posted COCOgsta

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VueVuejs从入门到精通 - 前端模块化相关的知识,希望对你有一定的参考价值。

学习视频来源:B站《Vue、Vuejs从入门到精通》

 

个人在视频学习过程中也同步完成课堂练习等,现将授课材料与个人笔记分享出来。

 

 

 aaa.js

var moduleA = (function () {
  // 导出的对象
  var obj = {}
  //小明
  var name = '小明'
  var age = 22
  function sum(num1, num2) {
    return num1 + num2
  }
  var flag = true
  if (flag) {
    console.log(sum(10, 20));
  }
  obj.flag = flag;
  obj.sum = sum;
  return obj
})()

bbb.js

var moduleB = (function () {
var obj = {}
var name = '小红'  var flag = false  console.log(name);  obj.flag = flag
return obj
})()

mmm.js

(function () {
  // 1.想使用flag
  if (moduleA.flag) {
    console.log('小明是天才,哈哈哈');
  }
  // 2.使用sum函数
  console.log(moduleA.sum(40, 50));
})()

nnn.js

(function () {
  console.log(moduleB.flag);
})()

index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<!--
1.项目组长
2.小明
3.小红
-->

<script src="main.js"></script>
<script src="aaa.js"></script>
<script src="bbb.js"></script>
<script src="mmm.js"></script>
<script src="nnn.js"></script>
</body>
</html>

 aaa.js

var moduleA = (function () {
  // 导出的对象
  var obj = {}
  //小明
  var name = '小明'
  var age = 22
  function sum(num1, num2) {
    return num1 + num2
  }
  var flag = true
  if (flag) {
    console.log(sum(10, 20));
  }
  obj.flag = flag;
  obj.sum = sum;
  return obj
})()
// //小明
// var name = '小明'
// var age = 22
//
// function sum(num1, num2) {
//   return num1 + num2
// }
//
// var flag = true
//
// if (flag) {
//   console.log(sum(10, 20));
// }
//
// module.exports = {
//   flag: flag,
//   sum: sum
// }

mmm.js

(function () {
  // 1.想使用flag
  if (moduleA.flag) {
    console.log('小明是天才,哈哈哈');
  }
  // 2.使用sum函数
  console.log(moduleA.sum(40, 50));
})()
// var aaa = require('./aaa.js')
// var flag = aaa.flag;
// var sum  = aaa.sum;
// var {flag, sum} = require('./aaa.js')
//
// sum(20, 30)

 

 

 

 index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>

<script src="aaa.js" type="module"></script>
<script src="bbb.js" type="module"></script>
<script src="mmm.js" type="module"></script>
</body>
</html>

aaa.js

var name = '小明'
var age = 18
var flag = true
function sum(num1, num2) {
  return num1 + num2
}
if (flag) {
  console.log(sum(20, 30));
}
// 1.导出方式一:
export {
  flag, sum
}
// 2.导出方式二:
export var num1 = 1000;
export var height = 1.88
// 3.导出函数/类
export function mul(num1, num2) {
  return num1 * num2
}
export class Person {
  run() {
    console.log('在奔跑');
  }
}
// 4. export default
// const address = '北京市'
// export default address
export default function (argument) {
  console.log(argument);
}

bbb.js

import {sum} from './aaa.js'
var name = '小红'
var flag = false
console.log(sum(100, 200));

mmm.js

// 1.导入的{}中定义的变量
import {flag, sum} from "./aaa.js"
if (flag) {
  console.log('小明是天才,哈哈哈');
  console.log(sum(20, 30));
}
// 2.直接导入export定义的变量
import {num1, height} from "./aaa.js"
console.log(num1);
console.log(height);
// 3.导入 export的function
import {mul, Person} from "./aaa.js";
console.log(mul(30, 50));
const p = new Person();
p.run()
// 4.导入 export default中的内容
import addr from "./aaa.js"
addr('你好啊')
// 5.统一全部导入
import * as aaa from "./aaa.js"
console.log(aaa.flag);
console.log(aaa.height);

以上是关于VueVuejs从入门到精通 - 前端模块化的主要内容,如果未能解决你的问题,请参考以下文章

VueVuejs从入门到精通 - vue-router详解

VueVuejs从入门到精通 - 基本语法

VueVuejs从入门到精通 - 邂逅Vuejs

VueVuejs从入门到精通 - Vue CLI详解

VueVuejs从入门到精通 - 组件化开发

VueVuejs基础自学系列 | 汇总