首页 > 其他分享 >二.模块化

二.模块化

时间:2022-10-11 19:01:14浏览次数:40  
标签:es6 abc 模块化 导出 module 导入

为什么需要模块化?

  如果没有模块化的话,那么 后引入的  会代替  前引入的 [a.js  有一个name , b.js 有一个name 那么先引入a.js在引入b.js  那么b会把a的顶替掉]

 

js有哪些模块化规范? 

  1.CommonJs 服务器的模块化。【nodejs支持】

  2.ADM , UMD  社区自创建的 [目前没人用了]

  3.ESM  ES6提出正式的规范  【nodejs是不支持的】

 

ESM(ECMAScript Module  标准规范)

  导出 :  export

// es6提出的模块化规范  导出 : 使用export

const  es = 'es6的导出'

const abc = 'es6导出使用别名'

const cd = 'es6导入使用别名'

export {
    es,
    abc as abcScript,
    cd
}

 

  导入 : import

// es6提出的模块化规范  导入 : 使用 import
import { es , abcScript ,cd as cdd} from './ecmascript.mjs'

console.log(es ,abcScript,cdd)

 

  整个文件只有一个导出

// 整个文件只有一个导出  export default

const abc = '整个文件只有一个导出'

export default abc

  整个文件只有一个导入

// 导入的是,整个文件只有一个导出的,就不用 {}

import abc from './ecmadef.mjs'
console.log(abc);

 

nodejs默认是不支持ESM规范的,如果想要这样用,那么后缀要变成     .mjs    或者创建一个文件 package.json  写上  { "type": "module" } 也可以解决

 

CommonJS规范

  导出 module.exports. !! 有加s

var a = '我的commonJS的导入'
var fo = '我的commonJS的导入的第二个'

// 这里跟es6的区别是多了一个s !!!
// exports.a = a
// exports.fo = fo

// 第二种方法 就不能简写,一定要加上module
module.exports = {
    a,
    fo
}

  导出 require(‘文件名’)

var a = require('./module')

console.log(a);
console.log(a.a);
console.log(a.fo);

 

标签:es6,abc,模块化,导出,module,导入
From: https://www.cnblogs.com/qd-lbxx/p/16780253.html

相关文章

  • Java_类加载器&反射&模块化
    Java_类加载器&反射&模块化1.类加载器1.1类加载【理解】类加载的描述当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过类的加载,类的连接,类的初始化这......
  • webpack模块化的原理
    commonjs在webpack中既可以书写commonjs模块也可以书写es模块,而且不用考虑浏览器的兼容性问题,我们来分析一下原理。首先搞清楚commonjs模块化的处理方式,简单配置一下webp......
  • 002 模块化开发
    [A] 模块与组件,模块化与组件化的理解模块1.向外提供特定功能的js程序,一般就是一个js文件,其本质是一系列的js语句集合2.为什么要拆分模块,随着业......
  • JS模块化—CJS&AMD&CMD&ES6-前端面试知识点查漏补缺
    本文从以时间为轴从以下几个方面进行总结JS模块化。从无模块化=>IIFE=>CJS=>AMD=>CMD=>ES6=>webpack这几个阶段进行分析。历史幼年期:无模块化方式需要......
  • 详解vue-element-admin之模块化Vuex
    最近项目要储备vue-element-admin,于是吧官方的demo拿来研究了一段时间~在这段期间内完成了一个自制的小项目,近期会上线(vue-element-admin后台+uniapp制作的小程序),请期待~......
  • 前端模块化发展
    前端模块化的发展 CommonJS的模块化实现 但是应用到项目中需要node技术支持解析 ES6的模块化实现模块化概述Javascript模块化编程,已经成为一个迫切的需求。理想情况下,开......
  • es6 模块化
    ES6InDepth是一系列关于ECMAScript标准第6版(简称ES6)中JavaScript编程语言新增功能的文章。不久之前,JavaScript的主要用途是表单验证,可以肯定的是,您的平均<input-onchang......
  • JavaScript之无题之让人烦躁的模块化
    我怎么记得我好像写过相关类型的文章,但是我找遍了我的博客没有~那就再写一遍吧,其实模块化的核心内容也算不上是复杂,只不过需要整理一下,规划一下罢了。嘻嘻。开始写......
  • [转]node.js 支持 ES6 模块化
    需检查是否满足以下条件:1、确保安装了v14.15.1或更高版本的node.js2、命令初始化 package.jsonnpminit-y3、在 package.json的根节点中添加 "type":"modu......
  • 关于 NodeJS 模块化不得不说的坑
    关于NodeJS模块化不得不说的坑本文写于:2022-10-05CJS与ESM的简单介绍面临的问题问题1:如何交叉引入(ESM引入CJS、CJS引入ESM)问题2:ESM必须带上文件扩展名......