ES6 模块化module

导入

// ES6 模块化;
// 导入 和 导出
// 例如:a.js 需要 b.js 的逻辑

// 导入:

import {a,b} from ‘./b.js‘;
console.log(a,b);

import {a as c,b as d} from ‘./b.js‘;
console.log(c,d);

import {e} from ‘./b.js‘;
console.log(e);

import myobj from ‘./b.js‘;
console.log(myobj);

import myobj1,{a as g,b as g1} from ‘./b.js‘;
console.log(myobj1,g,g1);

import * as obj from ‘./b.js‘;
console.log(obj);//它是一个obj

/*
    import {a,b} from ‘路径‘;
        {a,b}必须同名 因为是{}大括号和解构赋值一样
    import {a as c,b as d} from ‘路径‘;
        可以使用as起另名;
    import myobj from ‘./b.js‘;
        接收export default导出的方法可以自定义名字;
    import myobj1,{a as g,b as g1} from ‘./b.js‘;
        他们也可以同时接收导入内容
    import * as obj from ‘./b.js‘;
        通配符方式接收
*/

导出

// 导出:
export let a = 10;
export let b = 20;
let d = 30;
export {d as e};

let obj = {
    name:"张三",
    age:20
}
// export default obj;

export {obj as default};//新写法...

/*
    export : 导出
        此关键字可以多些,那么他也就是可以导出多个
    export {d as e};
        可以使用as导出别名

    export default obj;
        次关键字只能一次,那么也就是 使用此方法 只能导出一次;

*/

script标签

<!-- 注:type属性值必须是module -->
<script type="module" src=‘./a.js‘></script>

按需加载

<script type="module">
    // import obj from ‘./a.js‘;//这里是页面加载完就直接加载了

    // 按需加载模块化js文件
    /* document.onclick = function (){
        // 返还 promise 对象;
        import("./a.js").then(res=>{
            // console.log(res);
        });
    } */
    document.onclick = async function (){
        // 返还 promise 对象;
        // import("./a.js").then(res=>{
        //     // console.log(res);
        // });
        let res = await import("./a.js");
        console.log(res);
    }
</script>

原文地址:https://www.cnblogs.com/Afanadmin/p/12359857.html

时间: 2024-10-18 22:31:08

ES6 模块化module的相关文章

前端模块化小总结—commonJs,AMD,CMD, ES6 的Module

随着前端快速发展,需要使用javascript处理越来越多的事情,不在局限页面的交互,项目的需求越来越多,更多的逻辑需要在前端完成,这时需要一种新的模式 --模块化编程 模块化的理解:模块化是一种处理复杂系统分解为更好的可管理模块的方式.简单来说就是解耦,简化开发,一个模块就是实现特定功能的文件,可以更方便地使用别人的代码,想要什么功能,就加载什么模块.模块开发需要遵循一定的规范 CommonJS规范 CommonJS就是一个JavaScript模块化的规范,是用在服务器端的node的模块规范,

amd cmd commonjs 模块规范 和 es6 的 module 语法

js的模块化 在前端开发的原始时期,只要在script标签中嵌入js代码就能实现一些基本的交互效果,但是随着时代的进步.js扮演的角色变得重要起来,js应用的场景页越来越复杂,.然而,js都没有类的概念,更不用说模块了. 为什么要有模块化 当一个项目变得复杂的时候,会出现问题,比如:命名冲突:开发中重复命名,导致命名冲突.文件依赖:项目开发中,依赖的js文件,引入遗漏,引入顺序错误. 使用模块化开发可以避免类似情况,而且利于项目的维护:提升开发效率:代码方便重用,能直接引入,避免重复开发.方便后

ES6之module

一.module概述 JavaScript一直没有模块体系,但是伴随着ES6的到来,module随之而来. ES6module的设计思想是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输入.输出变量.简而言之就是‘编译时加载’. ES6module相对来说实现得还是比较简单,易上手. ES6module提倡一个js文件就是一个模块的概念,主要包括两个命令:export和import,用于模块向外提供接口(export)和引入其他模块接口(import). 好了,下面就说下我说理解的expo

###大一统的模块化规范-es6模块化

1.node.js中通过babel体验es6模块化 npm安装 babel.config.js ###ES6模块化的基本语法 1.默认导出与导入 export default import 接收名称 from '模块标识符' 2.按需导出--export let s1 = 'aaa' ####直接导入并执行模块代码 我们只想单纯执行某个模块中的代码,并不需要得到模块中向外暴露的成员,此时,可以直接导入并执行模块代码 当前文件模块为m2.js 在当前模块中执行依据各for循环操作 for(let 

js 模块化的一些理解和es6模块化学习

模块化 1 IIFE 2 commonjs 3 浏览器中js的模块化 4 简单理解模块加载器的原理  5 es6 之前在参加百度前端技术学院做的小题目的时候,自己写模块的时候 都是写成立即调用表达式(IIFE)的模式,比如单个功能的时候当时想到是不会涉及到全局变量的污染,在封装基础的模块(比如里面的表单验证功能) (function(win){ var obj = {}; function add() { console.log("add"); } obj.add = add; win

nodejs和es6模块化的不同

nodejs采用的是CommonJS规范,而es6自己制定了一套模块化规范,两者语法不同,功能类似. CommonJS规范: 有require.exports.module三个对象,处理模块之间的依赖. ES6规范有: import.export两个对象,处理模块之间的依赖. 原文地址:https://www.cnblogs.com/ruleblog/p/10820827.html

amd、cmd、CommonJS以及ES6模块化

AMD.CMD.CommonJs.ES6的对比 他们都是用于在模块化定义中使用的,AMD.CMD.CommonJs是ES5中提供的模块化编程的方案,import/export是ES6中定义新增的 什么是AMD.CMD.CommonJs? 他们之间有什么区别? 项目当中是如何使用? 1)AMD-异步模块定义 AMD是RequireJS在推广过程中对模块定义的规范化产出,它是一个概念,RequireJS是对这个概念的实现,就好比JavaScript语言是对ECMAScript规范的实现.AMD是一个

ES6笔记Module

模块的定义 export命令用于规定模块的对外接口,import命令用于输入其他模块提供的功能. export: export var name = \"javascript\"; export var version = 6.0; var name = \"javascript\"; var version = 6.0; export {name,version}; 以上两种方式是等价的. export function Person() { this.name

ES6模块化

前言 语法:import export (注意有无default) 环境:babel编译ES6语法,模块化可用webpack 和rollup ES6 Class本身是个语法糖,实际系统默认帮我们转成JS的构造函数 JS构造函数方式: class Hello(x,y){ this.x=x; this.y=y; } Hello.protoype.add=function(){ return this.x +this.y; } const m =new Hello(2,3); console.log(