前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >javascript规范(js)

javascript规范(js)

作者头像
sofu456
发布2019-07-08 15:51:47
1.3K0
发布2019-07-08 15:51:47
举报
文章被收录于专栏:sofu456sofu456

EMCAScript规范

javascript语言实现,ES6规范(使用babel编译器将es6转换为es5,webpack只支持部分es6):

代码语言:javascript
复制
import "jquery";           //返回function
export function doStuff() {}
module "localModule" {}

es5:

代码语言:javascript
复制
var o = require('s.js');

export default只有一个,export可以有多个

commonjs规范

nodejs语言实现

代码语言:javascript
复制
require("module");
require("../file.js");     //require返回对象 object
exports.doStuff = function() {};
module.exports = someValue;

浏览器不兼容nodejs,需要通过browserify工具转换为浏览器支持js (例如:browserify main.js > compiled.js): 浏览器不兼容nodejs的几个模块

  • module
  • exports
  • require
  • global

AMD(异步加载模块,npm中requirejs模块)

require同步==》异步require([module], callback); //由require.js和curl.js实现

网页js的异步加载 <script src=“js/require.js” defer async=“true” >

内部函数

  • require.config({参数}) //自动加载模块
代码语言:javascript
复制
require.config({
    baseUrl: "js/lib",
    paths: {
      "jquery": "jquery.min",
      "underscore": "underscore.min",
      "backbone": "backbone.min"
    }
  });
  • define([’’],function(){}) //指明依赖模块和定义模块
  • 加载非amd规范的模块,shim
代码语言:javascript
复制
require.config({
    shim: {             //shim配置不兼容模块
      'underscore':{           //不兼容的库名称
        exports: '_'
      },
      'backbone': {                  //不兼容的库名称
        deps: ['underscore', 'jquery'],
        exports: 'Backbone'
      }
    }
  });

CMD

淘宝工程师编写seajs,提出cmd规范

  • define(function(require, exports, module){})
  • seajs.use()

cmd和amd区别

代码语言:javascript
复制
define(function(require, exports, module){              //CMD
    var a = require(moduleA);
    a.dosomething();
    var b = require(moduelB);
    b.dosomething();
});

define([moduleA, moduleB],function(a, b, require, exports, module){                //AMD
    a.dosomething();
    b.dosomething();
});

js模块化方案

seajs、requirejs(在线编译,amd和cmd编译器在浏览器中) webpack、browserify(预编译)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年06月26日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • EMCAScript规范
  • commonjs规范
  • AMD(异步加载模块,npm中requirejs模块)
  • CMD
  • js模块化方案
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档