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

nodejsmodule.exports 与 exports区别?

请牢记一条原则:无论使用 exports 暴露成员,或是 module.exports 暴露成员,最终暴露结果,都是以 module.exports 所指向对象为准。...联系与区别: 在 module 对象,包含 exports 属性,而我们就是通过这个属性(module.exports),向外暴露(共享)成员。...(module.exports = Object),也可以为 module.exports 挂载新属性( module.exports.name = ‘zs’),这些都没有问题,你都可以在引用文件拿到修改后模块成员...但是,如果你将某一对象或某一变量直接赋值给了 exports(例如:const project = ‘张三’; exports = project; ),那么你在引用文件只能拿到一个 {}。...重要结论:module.exports 和 exports 同指一个对象,但是最终暴露结果以 module.exports 为准,上面的代码,exports 改变了指向,而我们又没有为 module.exports

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

node.jsexports与module.exports区别

node.js,每个js文件都可以当成一个模块,每个模块,都隐含了一个名为module对象,module对象中有一个exports属性,这个属性功能是将模块变量暴露给其他模块调用。...,每次要暴露变量,都需要写module.exports,在以懒惰为美德程序员看来,这是不能忍受。...因此node.js提供了一个变量exports作为module.exports引用 16.js也可以写成: let name = '叶文洁' // exports 是 module.exports 引用...原因是,exports是module.exports引用,当exports被重新赋值时,并不会影响到module.exports值,而模块返回module.exports,因而只有给module.exports...同一个引用 来个更复杂点例子: 18.js let name = '章北海' module.exports = name exports = {} exports.age = 10 module.exports

99120

NodeJSrequire

不要把秘密说给你朋友,因为你朋友也有朋友~ ---- 1.require()基本用法 ---- 当Node遇到require(X)时,按照下面的顺序处理。.../'开头 a.根据X所在父模块,确定X绝对路径 b.将X当做文件,依次查找下面文件,只要其中有一个存在,就返回该文件,不在继续执行。...根据 X 所在父模块,确定 X 可能安装目录 b....依次在每个目录,将X当做文件名或者目录名加载 (4)抛出"not found" 举个例子: 脚本文件/home/ry/projects/foo.js执行了require('bar'),这属于上面的第三种情况...bar/package.json(main字段) bar/index.js bar/index.json bar/index.node 如果所有目录,都无法找到bar对应文件或者目录,就抛出一个错误

1.5K10

Nodejs Stream

作为前端开发,日常生活接触最多语言就是 javascript,而早期 Javascript 作为网页脚本语言,本身是没有实现流。 直到后来 Nodejs 出现。...Nodejs 作为后端编程语言,它提供了很多 Javascript 没有的能力,集成在它核心模块里面。 Nodejs Stream 模块就是 Nodejs 语言对于流实现。...二、Nodejs 核心模块 Stream 在生产环境运用 平时使用 Nodejs 做一些小工具开发或者使用 Koa/express 开发后端应用时候,很少甚至可以说没有直接用到 Stream 模块...四、Stream 模块在 Nodejs 位置 Stream 模块本身主要用于开发者创建新类型流实例,对于以消费流对象为主开发者,极少需要直接使用 Stream 模块。...从 nodejs 源码可以找到这个 stream.Readable 类所在文件 stream.js // node/lib/stream.js const Stream = module.exports

2.2K10

NodeJs HTML 模板

HTML 模板是一种允许我们创建基本 HTML 结构并使用占位符根据从 JSON 文件或数据库检索到数据动态生成内容技术。...现在,如果我们要从 JSON 文件添加或删除任何产品,我们将如何在前端动态更新相应的卡片? 考虑到我们基于内容数据存储在 JSON 文件,我们可以继续从现有的 HTML 代码创建可重用模板。...这是template-card.html我们第一个模板,用作根据需要动态创建尽可能多的卡片蓝图。...当用户请求 URL 时,代码会同步读取相关模板文件(或者template-overview.html或template-card.html),用 JSON 文件内容动态填充它,并将相关内容作为响应发回给用户...总之,HTML 模板是一种高效、一致、灵活且可扩展技术,可简化动态 Web 内容开发和维护。

6.4K20

nodejs并发编程

从sleep实现说起 在nodejs,如果要实现sleep功能主要是通过“setTimeout + promise”实现,也可以通过“循环空转”来解决。...事实上,Atomics.wait 出现主要解决浏览器或nodejsworker之间数据同步问题。...浏览器上web-worker、正式被nodejs@12纳入worker-threads模块,这些都是ECMAScript多线程模型具体实现。...不过nodejswork_threads对线程创建不同于c或者java,它使用libuvAPI创建线程 “uv_thread_create”,但是在此之前需要初始化一些设施如MessagePort...回到正题,多线程间同步一般需要依赖锁,而锁实现需要依赖于全局变量。在nodejswork_threads实现,主线程无法设置全局变量,因此可以通过Atomics实现。

1.9K21

nodejs文件系统

简介 nodejs使用了异步IO来提升服务端处理效率。而IO中一个非常重要方面就是文件IO。今天我们会详细介绍一下nodejs文件系统和IO操作。...nodejs文件系统模块 nodejs中有一个非常重要模块叫做fs。这个模块提供了许多非常实用函数来访问文件系统并与文件系统进行交互。...文件描述符 文件描述符就是指在nodejs,当我们使用fs.open方法获得这个返回值。 我们可以通过这个文件描述符来进步和文件进行交互操作。...我们分别使用了readdir和readdirSync两种方式来读取目录文件。...而在POSIX环境,我们传入了一个windows风格路径,无法正常解析,直接返回整个结果。

1.3K31

nodejs文件系统

简介 nodejs使用了异步IO来提升服务端处理效率。而IO中一个非常重要方面就是文件IO。今天我们会详细介绍一下nodejs文件系统和IO操作。...nodejs文件系统模块 nodejs中有一个非常重要模块叫做fs。这个模块提供了许多非常实用函数来访问文件系统并与文件系统进行交互。...文件描述符 文件描述符就是指在nodejs,当我们使用fs.open方法获得这个返回值。 我们可以通过这个文件描述符来进步和文件进行交互操作。...我们分别使用了readdir和readdirSync两种方式来读取目录文件。...而在POSIX环境,我们传入了一个windows风格路径,无法正常解析,直接返回整个结果。

1.5K10

NodeJS异步编程经验

在 Node.js 6.6.0 增加了一个特性:对 Promise 未处理 rejection 默认会输出 UnhandledPromiseRejectionWarning 提示 例如:test.js...Promise API 中有 .catch() 这个方法,可以用来处理捕捉 rejection 进行处理 但是注意: 这个例子虽然用 .catch() 捕捉处理了 Promise ...rejection;但是注意在 err.message err 是未定义,代码执行时会抛出错误,由于没有后续处理,所以也会输出 UnhandledPromiseRejectionWarning...警告 所以稍不注意就会引起 Promise unhandled rejections ?...可以参考文章:ES7 async await,在这篇文章详细介绍了 Async/Await 并且和 Promise 进行了对比,Async/Await 在处理异步操作上优势更明显。

1.7K20

在.NET动态调用Nodejs代码实现低代码平台代码块节点

代码块节点可以使用 Node.js、Python 等解释型语言来处理逻辑,在《dotNet 5 执行 Node.js》一文,介绍了在 .NET 通过 NodeServices 包来动态执行 Node.js...1、在 Rider 创建一个 .NET 8 Web API 项目。...js 代码 接口 run 调用 Node.js 服务,然后将执行结果返回 关于使用 HttpClient 调用第三方接口,可以参考:https://learn.microsoft.com/zh-cn...--restart=always net-run-nodejs-demo 需要注意是,上面的代码示例中将 Node.js 访问地址写死在了接口方法,并且使用是 localhost,如果部署到容器中会导致不能正常访问...使用 Docker Compose 上面的两个步骤已经创建了 Node.js 和 .NET API 镜像,下面使用一个 Docker Compose 方式来进行容器管理。

10810

Nodejs:ESModule和commonjs,傻傻分不清

久没有更新博客了,最近写nodejs脚本时候遇到了commonjs和ESModule问题,正好之前用得稀里糊涂,这次好好学习一下。...strict-mode 被引入模块都会以严格模式运行。 静态引入、动态引入 import x from这种语法有syntactic rigid,需要编译时置于顶部且无法做到动态引入加载。...模块导入导出实际是由nodejs模块封装器实现,通过为module.exports分配新值来实现导出具体内容。 module.exports有个简写变量exports,其实就是个引用复制。...(exports === module.exports) // true 注意,nodejs实际导出module.exports,以下几种经典case单独看一下: case1 // ✅使用exports...参考nodejs进阶视频讲解:进入学习 引入 通过require语法引入: // a是test.js里module.exports导出部分 const a = require('.

28820
领券