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

Node.js模块系统(下)

Node.js 中自带了一个叫做 http 的模块,我们在我们的代码中请求它并把返回值赋给一个本地变量。 这把我们的本地变量变成了一个拥有所有 http 模块所提供的公共方法的对象。...Node.js 的 require 方法中的文件查找策略如下: 由于 Node.js 中存在 4 类模块(原生模块和3种文件模块),尽管 require 方法极其简单,但是内部的加载却是十分复杂的,其加载优先级也各自不同...以http模块为例,尽管在目录下存在一个 http/http.js/http.node/http.json 文件,require("http") 都不会从这些文件中加载,而是从原生模块中加载。...从文件加载 当文件模块缓存中不存在,而且不是原生模块的时候,Node.js 会解析 require 方法传入的参数,并从文件系统中加载实际的文件,加载过程中的包装和编译细节在前一节中已经介绍过,这里我们将详细描述查找文件模块的过程...如果 X/index.js 是一个文件, 将 X/index.js 作为 JavaScript 文本载入并停止执行。 2.

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

Node.js模块系统(上)

为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统。 模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的。...换言之,一个 Node.js 文件就是一个模块,这个文件可能是JavaScript 代码、JSON 或者编译过的C/C++ 扩展。...引入模块 在 Node.js 中,引入一个模块非常简单,如下我们创建一个 main.js 文件并引入 hello 模块,代码如下: var hello = require('..../hello') 引入了当前目录下的 hello.js 文件(./ 为当前目录,node.js 默认后缀为 js)。...Node.js 提供了 exports 和 require 两个对象,其中 exports 是模块公开的接口,require 用于从外部获取一个模块的接口,即所获取模块的 exports 对象。

89420

Node.js 模块系统源码探微

Node.js 的出现使得前端工程师可以跨端工作在服务器上,当然,一个新的运行环境的诞生亦会带来新的模块、功能、抑或是思想上的革新,本文将带领读者领略 Node.js (以下简称 Node) 的模块设计思想以及剖析部分核心源码实现...CommonJS 规范 Node 最初遵循 CommonJS 规范来实现自己的模块系统,同时做了一部分区别于规范的定制。...在 Node 模块系统中,每个文件都被视为一个独立的模块。...省略 esm 模块的支持 }; 后缀处理 可以看出,针对不同的文件后缀,Node.js 的加载方式是不同的,以下针对 .js, .json, .node 简单进行分析。...,而 DLOpen 中又调用了 uv_dlopen, 后者加载 .node 文件,类似 OS 加载系统类库文件。

1.7K10

Node.js 应用的御用品: Node.js 错误处理系统

特别是对于 Node.js 开发人员,他们有时会也发现自己使用了不那么整洁的代码来处理各种错误,例如会在所有地方都用相同的逻辑来处理错误。那么,难道 Node.js 在处理错误方面不太友好 ? 不。...本文里,我想告诉的是 Node.js 一点问题也没有。 Node.js 错误处理之错误类型 首先,我们有必要对 Node.js 中的错误有一个清晰的认识。...错误处理组件 现在,我们准备构建 Node.js 错误处理系统的主要组件: 集中式错误处理组件。...你可以将其视为Node.js 的一种全局的错误处理程序。...在 Node.js 中的单个组件中处理错误的策略将确保开发人员节省宝贵的时间,并通过避免代码重复和丢失错误上下文来编写干净且可维护的代码。不得不说,它已经成为 Node.js 应用程序的必备保健品。

22920

Node.js + Express 构建的订餐系统

Node.js的版本 - v0.8.12 Express的版本 – v3.3.3  (安装 $ npm install -g express) 系统的登录逻辑是:获取用户名 + 密码,向内网RTX服务器验证身份...后台使用node.js,我的一个感觉就是开发速度很快,路径、参数与配置,只需要几行代码就可以搞定,比较灵活。最重要的一点就是前后台的数据可以完全共用,模块也可以完全共用。...Bootstrap + Node.js、懂一点sql相关的知识,那么前后台开发,基本上一个人就可以完全搞定了。 系统虽小但也算五脏俱全了,我相信比某本书上写的微博系统更有价值一些。...最后我决定放出源码,虽然时间很仓促,代码有些凌乱,但希望对想学习Express和Node.js的人有些作用吧。系统除了后台数据库的表结构未说明外,其它都有源码。...下载系统源码>>

1.6K30

Node.js的fs文件系统

文件系统(File System) Buffer(缓冲区) 什么是Buffer缓冲区 Node里面的buffer,是一个二进制数据容器,数据结构类似与数组,专门用于Node中数据的存放 Buffer的基本使用...自带,不需要引入,直接使用即可 fs文件系统 基本概念 在Node中,与文件系统的交互是非常重要的,服务器的本质就将本地的文件发送给远程的客户端 Node通过fs模块来和文件系统进行交互,该模块提供了一些标准文件访问...打开文件 let fd = fs.openSync("fs2.txt", "w"); // 2.2 写入文件 fs.writeFileSync(fd, "我是用Node.js用文件系统写进来的"); fs.closeSync...打开文件 let fd = fs.openSync("fs1.txt", "w"); // 2.2 写入文件 fs.writeFile(fd, "我是用Node.js用文件系统写进来的", (err)...err) { // 2.2 写入文件 fs.writeFile(fd, "我是用Node.js用文件系统异步写进来的", (err) => { /

1.1K50

Node.js

Node.js Node.js是一个基于Chrome V8引擎的JavaScript运行环境 官方地址:https://nodejs.org/zh-cn/ 浏览器是JavaScript的前端运行环境 Node.js...是JavaScript的后端运行环境 Node.js中无法调用DOM和BOM等浏览器内置API 主要学习:JavaScript+Node.js内置API模块(fs、path、http等)+第三方API模块...(express、mysql等) 环境安装:官网下载安装(推荐LTS版本) 查看版本:node-v 终端命令 执行代码:node app.js fs文件系统模块 fs模块是Node.js官方提供的、用来操作文件的模块...中的模块化 Node.js中根据模块来源不同,将模块分为3个大类: 内置模块:内置模块是由Node.js官方提供的,例如fs、path、http等 自定义模块:用户创建的每个.js文件,都是自定义模块...如果没有找到对应的第三方模块,则移动到再上一层父目录中,进行加载,直到文件系统的根目录。

7.9K20

node.jsnode.js的安装和配置

文章目录 前言 下载和安装 Path环境变量 测试 推荐插件 总结 ---- 前言 Node.js是一个在服务器端可以解析和执行JavaScript代码的运行环境,也可以说是一个运行时平台,仍然使用JavaScript...---- 下载和安装 Node.js的官方网址是https://nodejs.org,进入官方网址,可以看到两个版本的安装包,LTS是长期稳定版,Current是最新版。...如下,就安装完毕啦~ Path环境变量 右击此电脑,选择属性,选择“高级系统设置” 在系统属性对话框中单击“环境变量”,接着在系统变量中找到Path。...进入Path,就可以看到Nodejs的环境变量啦 测试 接下来,我们进行一个测试,创建一个1.js文件,输入console.log("Hello World!")并保存。...接着输入node 1.js,终端成功输出“Hello World!” 推荐插件 这里推荐一个可以快速运行node的插件,快速运行调试代码——code runner。

8.9K30

Node.js】你真的了解 Node.js

最近笔者在阅读《深入浅出Node.js》,结合查阅的相关资料,本文算是一篇 Node.js 笔记。 Node.js 是基于 Chrome V8 引擎的 JavaScript 运行时环境。...在 Node.js 出现之前,JavaScript 只能在浏览器中使用。而 Node.js 的出现打破了这个局面。以下为 Chrome 浏览器和 Node.js 的组件构成。...Node.js 采用了 V8 引擎,并且在其基础上增加了处理本地文件等功能。但在浏览器中,出于安全考虑,你是无法访问浏览器的文件系统的。所以你可以理解 Node 中的 V8 引擎是增强后的版本。...Node 是基于 libuv 实现跨平台的,它处于操作系统Node.js 上层模块之间。libuv 也是很多系统实现跨平台的基础组件。...[3] 来,告诉你Node.js究竟是什么?

5.4K10

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券