20 ESM_native 规范

这篇博客探讨了不同的模块加载规范和构建工具,包括AMD(RequireJS)用于按需加载,CommonJS在后端(nodeJS)的应用,以及在前端通过Webpack使用CommonJS。此外,还介绍了Gulp自动化工作流,它的安装配置和基本使用,以及如何利用Gulp进行文件处理和构建任务。最后提到了Webpack的打包配置文件webpack.config.js。
摘要由CSDN通过智能技术生成

在这里插入图片描述

AMD(异步模块定义)

RequireJS (实现按需加载)

  1. Requirejs引入
    data-main
  2. 模块的定义
    独立模块
    依赖与其他模块的模块
  3. 模块的导入
    RequireJS 读取顺序index.html----> main.js—>s.js----->math.js
//index.html
<script src="./require.js" data-main="./main.js"></script>
//main.js
(function(){
   
    require(['./s'],function(s){
   
        alert(s.s_circle(10));
    })
})()
//s.js
define(['./math'],function(m1){
   
    function circle(r){
   
        return m1.multiple(m1.PI,m1.square(r))
    }
    return {
   
       s_circle:circle
    }
})
//math.js
define(function(){
   
    var PI=3.14;
    function multiple(num1,num2){
   
        return num1*num2;
    }
    function square(n){
   
        return n*n;
    }

    return {
   
        PI:PI,
        multiple:multiple,
        square:square
    }
})

CommonJS & webpack

后端中使用commonJS

nodeJS模块的定义,nodeJS模块的导入
nodeJS中读取顺序 main.js—>s.js----->math.js

//math.js
/*
* 在commonjs规范中 定义的变量都是局部变量
* 别的模块要使用必须用module.exports=X 暴露出去
*/
var PI=3.14;
function multiple(num1,num2){
   
    return num1*num2;
}
function square(n){
   
    return n*n;
}
//暴露外界
module.exports={
   
    PI:PI,
    multiple:multiple,
    square:square
}
//s.js
var m=require("./math");

function circle(r){
   
    return m.multiple(m.square(r),m.PI);
}

module.exports={
   
    s_circle:circle
}
//main.js
var s=require("./s");
console.log(s.s_circle(10));

运行 node main.js 输出314;

Webpack和前端CommonJS(前端中使用commonjs)

使用webpack 打包 三个文件到一个文件
语法 : webpck 打包入口文件 打包完成文件名称(webpck只识别JS文件)
打包:webpack main.js output.js
在html中引用即可


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值