commonjs、amd、cmd

2024-06-14 11:38
文章标签 cmd amd commonjs

本文主要是介绍commonjs、amd、cmd,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CommonJS是在浏览器环境之外构建JavaScript生态系统为目标产生的项目,比如服务器和桌面环境中。CommonJS规范是为了解决JavaScript的作用域问题而定义的模块形式,
可以使每个模块在它自身的命名空间中执行。该规范的主要内容是:模块必须通过  module.exports导出对外的变量或接口,通过require()来导入其他模块的输出到当前模块。


module.exports = function( val ){  
    return val * 2;  
}  
服务器端的Node.js遵循CommonJS规范。核心思想是允许模块通过require 方法来同步加载所要依赖的其他模块,然后通过 exports或module.exports来导出需要暴露的接口。
require("module");  
require("../test.js");  
exports.doStuff = function() {};  
module.exports = someValue;  


优点:
服务器端便于重用
NPM中已经将近20w个模块包
简单并容易使用
缺点:
同步的模块方式不适合不适合在浏览器环境中,同步意味着阻塞加载,浏览器资源是异步加载的
不能非阻塞的并行加载多个模块


AMD
AMD规范其实只有一个主要接口 define(id, dependencies, factory),它要在声明模块的时候指定所有的依赖dependencies,并且还要当做形参传到factory中,对于依赖的模块提前执行,依赖前置
define("module", ["dep1", "dep2"], function(d1, d2) {  
  return someExportedValue;  
});  
require(["module", "../test"], function(module, test) { /* ... */ });


优点:
适合在浏览器环境异步加载
并行加载多个模块
缺点:
提高开发成本,代码阅读和书写比较困难
不符合通用的模块思维方式,是一种妥协的实现


CMD
CMD规范和AMD相似,尽量保持简单,并且与CommonJS和NodeJS的Modules规范保持了很大的兼容性。


define(function(require, exports, module) {  
  var $ = require('jquery');  
  var Spinning = require('./spinning');  
  exports.doSomething = ...  
  module.exports = ...  
})  


优点:
依赖就近,延迟执行
很容易在node中运行
缺点:
依赖SPM打包,模块的加载逻辑偏重
实现: SeaJS

这篇关于commonjs、amd、cmd的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1060301

相关文章

cmd 常用命令总结

尽管图形用户界面已成为常态,但命令行工具仍然在许多场景下不可或缺。下面是 Windows 命令提示符(CMD)中的一些常用命令及其用法。 1. 导航命令 cd:改变当前工作目录。 cd /?:获取 cd 命令的帮助信息。 cd \:回到当前驱动器的根目录。 cd ..:返回上一级目录。 cd /d E:\software:切换到另一个驱动器并进入指定的目录。 D::切换到 D 驱动器

mysql无法启动以及cmd下mysql命令无法识别的

1.mysql无法启动 解决方式: Win+R,输入services.msc,找到mysql服务 即默认的服务名是mysql55而不是mysql 2.mysql命令无法识别 直接输入mysql进入数据库报错 这是因为系统并不知道mysql是什么,我们需要在环境变量里添加mysql的安装地址中的bin目录地址。 C:\Program Files\My

cmd命令无法使用的情况(显示该命令不是内部或外部命令)

CMD 命令无法使用显示不是内部或外部命令,也不是可运行的程序或批处理文件。 问题所在:就是环境变量导致无法使用 重新配置环境变量    (注意是“用户变量”!而不是“系统变量”) 需添加环境变量如下 %SystemRoot%\system32%SystemRoot%%SystemRoot%\System32\Wbem%SYSTEMROOT%\System32\WindowsPo

uniapp vite3 require导入commonJS 的js文件方法

vite3 导入commonJS 方式导出 在Vite 3中,你可以通过配置vite.config.js来实现导入CommonJS(CJS)风格的模块。Vite 默认支持ES模块导入,但如果你需要导入CJS模块,可以使用特定的插件,比如@originjs/vite-plugin-commonjs。 首先,你需要安装插件: npm install @originjs/vite-plugin-c

隐藏nacos cmd窗口,并自启动

一、步骤 创建bat文件D:\nacos\bin\nacos.cmd d:cd D:\nacos\binD:\nacos\bin\startup.cmd -m standalonetaskkill /f /im cmd.exeexit 创建nacos-run.vbs 文件 set ws=WScript.CreateObject("WScript.Shell")ws.Run "D

Cmd终端

组策略停止更新 windows用户的分类 system(系统用户) administrator(管理员用户) 普通用户 访客用户 网络管理类命令练习 ping:用于测试网络连接是否正常。通过发送ICMP(Internet Control Message Protocol)回显请求消息到目标主机并等待回显应答,从而测试和度量与目标主机往返时延。 netstat:显示网络连接、路由表、接口状态等

js模块化 --- commonjs规范 原理详解

什么是commonjs规范         commonjs是一种模块化规范(nodejs的默认模块化规范,新版的nodejs已经支持es6的模块化,但它默认任然使用的是commonjs),通俗的说它将代码分割成了一个一个的模块,让不同的模块拥有自己独立的作用域(类似命名空间的隔断),在不同的模块中实现了重复命名的效果,同时支持模块的导入导出,让模块与模块之间可以相互调用,实现代码的复用。

使用nssm将fastapi做成服务解决cmd使用命令启动卡顿问题

下载nssm 点击下载 我使用的是64位的操作系统所以选择64位win64 点击进去在地址栏里面输入cmd回车 输入 nssm.exe install "想要做成的服务名称" "python路径精确到python.exe" "程序路径要绝对路径" 然后就做出了服务并且启动 可以在服务管理控制台中(可以通过运行services.msc命令来打开)找到你的服务,并可以右键点击进行启动、停止

C#中调用cmd命令

在C#中调用cmd命令,可以使用System.Diagnostics.Process类。这个类允许启动和管理系统进程及其资源。以下是一个简单的示例,展示了如何使用Process类来执行cmd命令。 示例:执行简单的cmd命令 using System;using System.Diagnostics;class Program{static void Main(){// 创建Process