Desarrollo front-end y móvil ---- modularización es6 ---- modularización es6

ES6 modular

Que es modular

Objetivo: hacer que un archivo .js (A.js) pueda hacer referencia al código en otro archivo .js (B.js)

Módulo: solo un archivo.

Especificación modular:

  • especificación commonjs. Nodejs es la especificación commonjs.
  • especificación es6. Especificación ECMAScript.

En nodejs, la especificación modular: CommonJS

  • Exportar:module.exports = '导出的内容' exports.xxx = '导出的内容'
  • Importar:const path = require('path')

La modularidad en nodejs es diferente de la modularidad en es6.

ES6 modular

ES6 también proporciona una especificación modular: módulos ES6

  • Importación y exportación por defecto
    • Exportar:export default 导出内容
    • Importar:import 变量名 from 'js模块路径'
  • Importación y exportación bajo demanda
    • Exportar:
      • export const 成员变量名1 = '导出内容1'
      • export const 成员变量名2 = '导出内容2'
    • Importar:import {成员变量名1} from 'js模块路径'

Los pasos básicos

Definir módulo

  • Crea un archivo .js, en el que, escribe algunas variables, funciones ...
// 创建一个模块

// 如何把es6module/a.js中的fn这个函数给main.js中去使用?

const a = 100
function fn(x,y) {
    
    
    return x + y
}

Módulo de exportación

// 创建一个模块

// 如何把es6module/a.js中的fn这个函数给main.js中去使用?

// const a = 100
function fn(x,y) {
    
    
    return x + y
}

// 导出模块中的fn
export {
    
     fn }

Módulo de importación

main.js

import {
    
     fn } from './es6module/a.js'
console.log(fn(100,200)) // 300

Importación y exportación por defecto

module-a.js

// 模块a  默认导出
// 可以导出任何格式的内容:字符串  数字  函数  对象  数组 ...
export default {
    
    
  name: '模块A',
  attr: '属性'
}

main.js

import obj from './module-a'
console.log(obj) // {name: "模块A", attr: "属性"}

Importación y exportación bajo demanda

module-b.js

// 模块B  按需导出
export function fn(x,y) {
    
    
    return x + y
}

export function fn1(x,y,z) {
    
    
    return x + y +z
}
export const a = 314

Otra forma de escribir:

function fn(x,y) {
    
    
    return x + y
}

function fn1(x,y,z) {
    
    
    return x + y +z
}
const a = 314

export {
    
     fn, fn1, a}

main.js

// 按需导入
import {
    
    a,b} from './module-b'
console.log(a,b)

Importación completa

// 按需导入(全部成员导入)
import * as all from './module-b'
console.log(all) // 收集了所有成员的变量(对象)

Coexistencia de exportación predeterminada y exportación bajo demanda

module-c.js

// 混合导入
//  同时有默认导出和 按需导出

const fn = function(x,y) {
    
    
    return x + y
}

const a = 100
const fn1 = function(x,y,z) {
    
    
    return x + y+z
}

// 按需导出
export {
    
    
    a, fn1
}

// 默认导出
export default {
    
    
    fn
}

main.js

// 有混合导入
import obj, {
    
    fn1} from './es6module/c.js'

console.log(obj,fn1)

Importar y exportar renombrar

Un nombre exportado en a.js también es este nombre;

También hay un nombre duplicado en main.js, por lo que debe cambiar el nombre:

  • Cambiar el nombre al exportar en a.js
  • Cambie el nombre al importar en main.js
export {
    
    xxx as 新名字}

import {
    
    xxx as 新名字}
// tool.js
const fn = function(x,y) {
    
    
    return x + y
}
// 导出重命名
export {
    
    fn as f2}

// index.js
import {
    
    f2 as f1} from "./tool.js"

Si hay alguna deficiencia, por favor avise,
continúe, ¡continúe actualizando!
¡Progresen juntos!

Supongo que te gusta

Origin blog.csdn.net/qq_40440961/article/details/112995707
Recomendado
Clasificación