首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

require() 源码解读

这种格式的核心就是 require 语句,模块通过它加载。学习 Node.js ,必学如何使用 require 语句。...本文通过源码分析,详细介绍 require 语句的内部运行机制,帮你理解 Node.js 的模块机制。 ? 一、require() 的基本用法 分析源码之前,先介绍 require 语句的内部逻辑。...如果你只想了解 require 的用法,只看这一段就够了。 下面的内容翻译自《Node使用手册》。 当 Node 遇到 require(X) 时,按下面的顺序处理。...三、模块实例的 require 方法 每个模块实例都有一个 require 方法。..._load(path, this); }; 由此可知,require 并不是全局性命令,而是每个模块提供的一个内部方法,也就是说,只有在模块内部才能使用 require 命令(唯一的例外是 REPL 环境

85680
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Require.js

    通过require.js 可以对javascript文件进行别样引用 Require.js的使用: 第一步: 只需在html页面中引用require.js 就够了 第二步: 在引用require.js...的时候,要设置async属性为ture 确保不会阻塞页面 第三步:单写一个js文件,用于引用相关的javascripnt文件,这个文件可以随便命名,一般叫main.js 第四步: 在引用require.js...时,通过data-main属性指定main.js ***模块化**** 原本我们在引用require.js,指定main.js后,可以直接在main.js中书写我们的javascript代码。...产生我们想要的动态页面,为什么还要使用require.config() , require([ ])这两个方法?...模块化:把我们需要的功能和属性定义成一个js文件,通过引用这个js文件就能使用其功能和属性 使用require.js 实现的模块化满足 AMD 标准 → Asynchronous Module Define

    4.3K20

    PHP中include()与require()

    引用文件的方法有两种:require 及 include。 require 的使用方法如 require("file.php"); 。...2.条件引用 include()与require()的功能相同,用法上却有一些不同,include()是有条件包含函数,而require()则是无条件包含函数, 例如下面例子,如果变量$somg为真,则将包含文件...$i.php"; $i++; } 3.require用相对路径的时候 当A引用B,而B又引用了其他文件C时,C的路径如果是相对路径,则是相对于A的路径,而不是相对于B的’ 4.require_once...5..文件引用方式 include有返回值,而require没有 $login = include(’test.php’); if(!...(实际上执行时需要引用的文件内容替换了require()语句) 可以看出若有包含这些指令之一的代码和可能执行多次的代码,则使用require()效率比较高, 若每次执行代码时相读取不同的文件或者有通过一组文件叠代的循环

    64820

    PHP中include,require,include_once,require_once的区别详解

    前言 在做程序设计的时候避免不了要去引用外部文件,在 PHP 中引入文件的方式有很多种,这里详细说一下 include ;require ;include_once;require_once。...include '01_var.php'; 或者 include('01_var.php'); 或者 require '01_var.php'; 或者 require('01_var.php'); 2....require 'no.php'; echo 'End!';//不会输出 require 生成一个致命错误(E_COMPILE_ERROR),在错误发生后脚本会停止执行。 3....require () 语句)这就意味着如果可能执行多次的代码,则使用require () 效率比较高。...require 通常放在 php 脚本程序最前面,php 再执行程序前,就会先读取 require语句引入的文件,使之成为 php 脚本文件的一部分。

    92610

    require与imoprt的区别

    在讨论require和import的区别之前,我们首先要了解的是,es6module的代码最终都会被打包工具转化为require才能实行,关于这俩的区别网上有大把的文章,但是都不是很系统,小编这里整合了一下...区别1:require的过程是赋值过程,通过require引入基础数据类型时,属于复制该变量。通过require引入复杂数据类型时,数据浅拷贝该对象。...区别2、require使用的位置比较随意,比方说可以在函数内部使用,而import只能在文件作用域最外层使用。否则会报错: ? 即使用在if判断语句中也会出错: ? 这点require就比较灵活了。...改成commonjs规范来写如下: //b.js var foo = require("....区别5,require是一个函数,在使用时传入的参数可以动态计算,例如: require(“/b”+"/a.js")这样使用不会报错,但是如果使用 import “/b”+"/a.js",就会出现问题。

    1.2K31

    NodeJS require()源码解析

    了解过NodeJS的人都知道我们加载一个模块使用require语句去进行加载。那我们有必要去研究require语句的内部运行机制,它究竟是如何去加载一个模块的呢?...首先我们先看看require语句的基本用法: ? require语句是如何去查询并且加载到我们指定的文件?NodeJS处理require语句时一般有以下三种处理方式: ?...那么了解了NodeJS内部执行逻辑以后,我们可以阅读下NodeJS源码,看看require语句究竟是如何进行操作的。...每个模块实例都存在一个require方法,所以require命令实质上是每个模块内部提供的一个内部方法。所以只有在模块内部才能使用require语句: ?...本篇文章到这里对require语句的源码分析就完成了。

    1.9K30

    node乞丐版require方法

    } 并不是像浏览器一样,this是window(node没有window,只有global),而是一个空对象,再打印arguments: '0': {}, '1': { [Function: require...\\project\\bootstrap\\html\\coding\\nodenodule' 内容有点多,可以自行打印看看,但是可以看到,是五个参数,通过一个大佬的对node的调试和过程分析,确定require...方法引入的时候相当于一个自执行函数: (function (exports, require, module, __filename, __dirname) { }) 且我们可以实现一个简易的require...3、调用实例方法load加载文件 4、通过_extensions处理不同文件 5、给文件加一个函数并自执行 6、处理多次调用 7、返回module.exports 直接上代码: const fs = require...('fs'); const path = require('path'); const vm = require('vm');//虚拟机,可以到node官网文档了解 //自定义的require方法 function

    63420
    领券