模块化

作者: sweetBoy_9126 | 来源:发表于2019-01-03 20:02 被阅读3次

1. 导出变量

  • 写法1
// profile.js
export var firstName = 'Michael';
export var lastName = 'Jackson';
export var year = 1958;
//useage.js
import {firstName, lastName, year} from './profile';
console.log(firstName) //Michae

注意这种写法只能直接export var不能先声明变量再export
错误写法:

var firstName = 'Michael'
export firstName

只要你直接通过export一个东西(不加default)或者说是如果你导出的是一个有名字的,那么你引入的时候就必须使用对象形式并且名字必须得和导出的一致

  • 写法2
var firstName = 'Michael';
var lastName = 'Jackson';
var year = 1958;

export {firstName, lastName, year};
//useage.js
import {firstName, lastName, year} from './profile';
console.log(firstName)
  • 写法3
var firstName = 'Michael';
var lastName = 'Jackson';
var year = 1958;
module.exports = {
  firstName,
  lastName,
  year
}

//useage.js
//这里加大括号拿到的是对应的字符串,不加大括号拿到的是一个对象
import {firstName, lastName, year} from './profile';
console.log(firstName)

2.导出函数

-写法1

//helper.js
export function getName(){}
export function getYear(){}
//main.js
import {getName, getYear} from './helper';
getName()
  • 写法2
//helper.js
function getName(){}
function getYear(){}
export {getName, getYear}
//main.js
import {getName, getYear} from './helper';
getName()

使用default导出模块
使用default导出的内容在其他地方引入的时候可以自定义引入的模块名字,不需要跟你声明的一致,而且引入的时候不需要引入对象形式,而且通过export default导出的是一个整体
比如:

//one.js
var firstName = 'Michael';
var lastName = 'Jackson';
var year = 1958;

export default {firstName, lastName, year};

//two.js
//这里的a名字可以随便自己定义,不需要是对象形式
import a from './one.js';
//这里拿到的是一个对象整体不会像之前那样分别拿到不同的变量字符串
console.log(a)
//{firstName: "Michael", lastName: "Jackson", year: 1958}
// export-default.js
export default function () {
  console.log('foo');
}
// import-default.js
import getName from './export-default'
getName()

总结:
只要是引入的时候是对象形式的,那就是导出的名字要和引入的名字一致

  1. 单独使用export
    引入的时候必须是对象形式
  2. 使用module.exports={}
    引入的时候可以是对象形式也可以是单独的模块名,单独的自定义模块名字的时候拿到的是一个整体对象;默认对象形式拿到的是属性对应的值
  3. 使用export default
    引入的时候是自定义的模块名,不是对象形式,每一个模块名拿到的都是一个整体

相关文章

  • ES6学习笔记 II

    模块化 注意:模块化需要放到服务器环境使用模块化: 定义模块化如下 export export const a =...

  • 前端开发——模块化(css模块化开发)

    掌握模块化开发的思想是我们进行模块化开发的基础。他有以下几部分组成: 模块化开发的优势 css模块化 css模块化...

  • Node.js模块化学习

    模块化的基本概念Node.js 中模块化npm与包模块的加载机制 模块化的基本概念 什么是模块化 模块化是指解决一...

  • webpack基础笔记

    webpack基础 1.前端工程化 实际的前端开发: 模块化:(js的模块化,css的模块化,资源的模块化) 组件...

  • 模块化开发

    js模块化开发vue模块化开发

  • Vue前端工程化

    1.模块化的分类 A.浏览器端的模块化 B.服务器端的模块化 C.ES6模块化 小结:推荐使用ES6模块化,因为A...

  • 前端工程化

    1.模块化的分类 A.浏览器端的模块化 B.服务器端的模块化 C.ES6模块化 小结:推荐使用ES6模块化,因为A...

  • vue5

    es6新内容 class 解构赋值 扩展对象 模块化 什么是模块化 模块的作用 怎么实现模块化 模块化的标准 Co...

  • Vue基础教程之-组件核心概念(四)

    一、模块化 1.1 为什么需要模块化 没有模块化的世界:全局变量污染、难以管理的依赖。常见的模块化标准:Commo...

  • vue项目基建

    路由模块化 , 高频全局组件模块化 权限

网友评论

      本文标题:模块化

      本文链接:https://www.haomeiwen.com/subject/giyqrqtx.html