首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

require() 源码解读

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

84780

seajs简记

参考seajs快速入门 一、前端模块化的价值 解决命名冲突 摆脱文件依赖 性能优化 提高可维护性 seajs.use方法调用 通过exports暴露接口 通过require引入依赖 二、Sea.js...的常用 API seajs.config base string    Sea.js 在解析顶级标识时,会相对 base 路径来解析  seajs.use 用来在页面中加载模块 require...是一个方法,接受 模块标识 作为唯一参数,用来获取其他模块提供的接口 require 的参数值 必须 是字符串直接量 require.async require.async 方法用来在模块内部异步加载模块...callback 参数可选 1 define(function(require) { 2 3 // 异步加载一个模块,在加载完成时,执行回调 4 require.async(...顶级标识:顶级标识不以点(.)或斜线(/)开始, 会相对模块系统的基础路径(即 Sea.js 的 base 路径)来解析 四、 使用步骤 引入sea.js文件(方法与引用jQuery相同) 配置信息 在

1.4K20

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([ ])这两个方法?...使用sea.js 实现的模块化满足 CMD 标准 → Common Module Define npm install ‘–g’ 模块名称 全局安装相关模块 npm uninstall

4.3K20

前端模块化开发的价值

这样,dialog.js 的代码变成 define(function(require, exports) { var util = require('....我们通过 require('./util.js') 就可以拿到 util.js 中通过 exports 暴露的接口。...这里的 require 可以认为是 Sea.js 给 JavaScript 语言增加的一个 语法关键字,通过 require 可以获取其他模块提供的接口。 这其实一点也不神奇。...@import url("base.css"); #id { ... } .class { ... } Sea.js 增加的 require 语法关键字,就如 CSS 文件中的 @import 一样...通过 require 引入依赖。这可以让依赖内置,开发者只需关心当前模块的依赖,其他事情 Sea.js 都会自动处理好。对模块开发者来说,这是一种很好的 关注度分离,能让程序员更多地享受编码的乐趣。

1K20

前端科普系列(3):CommonJS 不是前端却革命了前端

2、CMD (Common Module Definition) 和 AMD 类似,CMD 是 Sea.js 在推广过程中对模块定义的规范化产出。Sea.js 是阿里的玉伯写的。...Sea.js 官网这么介绍 Sea.js: "Sea.js 追求简单、自然的代码书写和组织方式,具有以下核心特性:" "简单友好的模块定义规范:Sea.js 遵循 CMD 规范,可以像 Node.js...来看看 CMD 规范的实现: 首先要在 html 文件中引入 sea.js 工具库...所以在引入 sea.js 文件后,再引入的其它文件,都可以使用 define 来定义模块。...可以像 CommonsJS 那样同步的形式书写模块代码的秘诀在于:当 b.js 模块被 require 时,b.js 加载后,Sea.js 会扫描 b.js 的代码,找到 require 这个关键字,

1K40

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()效率比较高, 若每次执行代码时相读取不同的文件或者有通过一组文件叠代的循环

63020

关于 JS 模块化的最佳实践总结

简言之,除了在浏览器项目中使用 sea.js,其它类型项目均建议直接使用原生的 ES6 模块规范。...sea.js 是一个模块加载器,是 AMD 规范的主要实现者之一。...使用 sea.js 定义和使用模块的示例如下所示: /** sea.js **/ // 定义模块 math.js define(function(require, exports, module) {...sea.js 作为 AMD 规范的升级版,简化了使用方法,在使用上更加方便,值得推崇。但是 sea.js 便是浏览器开发中最佳的模块化解决方案吗?未必,还要看是什么类型的项目,后面会讲到。...至于是使用原生的 ES 模块规范,还是使用sea.js,要看具体场景。如果想页面尽快加载,sea.js 适合;如果是单页面网站,适合使用原生的 ES6 模块规范。

2.4K10
领券