`

nodeJs学习笔记

阅读更多
今天开始学习nodeJs

node.js是什么?
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
有了Node.js,我们也不用依赖浏览器来调试我们js代码了。

安装完毕之后,就可以使用了。

每个.js文件nodejs就认为是一个模块。
例如:nodejs1.js
'use strict'

var s = 'Hello';

var b = 'Bye';

function greet(name){
    console.log(s+','+name+'!');
}

function goodBye(name){
    console.log(b+','+name);
}

module.exports = greet;
module.exports = goodBye;


最后exports表示向外提供的函数或者对象(函数也是对象)


main.js

'use strict'

var g = require('./nodejs1');

var s = 'Kevin';

g(s)


结果是什么?
Bye,Kevin

引入nodejs1这个模块,最后只应用了该模块最后一行向外提供的对象,如何都应用?留个问题在这里。

nodejs向外提供对象有两种方式
exports.obj1 = greet;
exports.obj2 = goodBye;

或者
module.exports = {
    obj1: greet,
    obj2: goodBye
};


这两个是等效的。
但是使用exports只能用.(点操作符)来赋值,不能用类似初始化,来初始化exports
例如:
exports = {
    obj1: greet,
    obj2: goodBy
} 是错误的,有些IDE会直接提示编译错误,这是nodejs内部实现导出模块决定的。


如果我们要编写一个模块,一定要确保别人引用的时候是可以使用的。

刚才的问题就有了答案了,我们如果要对外提供模块中的两个对象,需要用
exports.obj1 = greet;
exports.obj2 = goodBye;

或者
module.exports = {
    obj1: greet,
    obj2: goodBye
};


而不能是我上边写的,这样写等于是重新给module.exports赋值了,引用就换成了goodBye的引用了。

既然是向外提供对象,那就不仅仅是函数了。只要是对象就可以向外提供,例如:
module.exports = {
    obj1: greet,
    obj2: goodBye,
    default:"hahaha"
};


var greet = require('./nodejs1');

var s = 'Kevin';


greet.obj1(s);
var def = greet.default;

console.log(def);


输出:
Hello,Kevin!
哈哈哈
分享到:
评论

相关推荐

    nodeJS学习笔记.html

    nodejs 学习笔记 nodejs 学习笔记 nodejs 学习笔记

    Nodejs学习笔记.rar

    Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者使用JavaScript进行服务器端..."Nodejs学习笔记"这个压缩文件应当包含了解析这些概念和技能的详细内容,帮助初学者或进阶者提升Node.js技术能力。

    NodeJS学习笔记和代码

    这个"NodeJS学习笔记和代码"的压缩包显然包含了帮助初学者掌握NodeJS基础知识和实践技能的所有必要资料。 首先,`NodeJS第1天笔记.docx`很可能是对NodeJS基础概念的介绍,包括但不限于以下几点: 1. **事件驱动...

    Node.js-Nodejs学习笔记以及经验总结

    本学习笔记和经验总结将深入探讨Node.js的核心概念、主要特性、常用模块以及实战技巧,帮助你从零基础到熟练掌握Node.js。 一、Node.js核心概念 1. 非阻塞I/O模型:Node.js采用事件驱动、非阻塞I/O模型,提高了...

    本人5年的nodejs学习笔记源码总结

    本人5年的nodejs学习笔记总结,里边非常详细,希望对你有所帮助

    NODEJS学习笔记

    ### Node.js 学习笔记知识点总结 #### 一、调试工具——Supervisor - **安装命令**:`npm install supervisor -g` - `supervisor`是一个强大的Node.js开发工具,能够自动重启进程来帮助开发者在修改代码后快速...

    Nodejs学习笔记大全.pdf

    在学习Node.js时,首先需要掌握基础知识,如命令行窗口操作,了解Node.js的基本概念和用途。Node.js虽然处理请求时是单线程,但其非阻塞I/O模型能够有效处理高并发请求,应用场景包括Web服务API、实时多人游戏、后端...

    前端学习之nodeJS学习笔记

    node.js学习笔记

    NodeJs学习笔记1

    本篇学习笔记主要涵盖了三个核心知识点:模块封装、模块调用以及如何执行Node.js文件。 首先,我们来看看如何封装一个模块。在Node.js中,我们可以创建一个JavaScript文件,比如`test.js`,并在其中定义一个函数。...

    Nodejs学习笔记之Stream模块

    nodejs的fs模块并没有提供一个copy的方法,但我们可以很容易的实现一个,这种方式是把文件内容全部读入内存,然后再写入文件,对于小型的文本文件,这没有多大问题,比如grunt-file-copy就是这样实现的。

    Nodejs学习笔记之NET模块

    TCP/IP协议是传输层协议,负责在网络中传输数据,确保数据的可靠性和顺序。Socket是对TCP/IP协议的封装,为...理解NET模块对于深入学习Node.js的网络编程至关重要,因为它揭示了Node.js网络通信的基本原理和机制。

    nodejs-learning-guide, Nodejs学习笔记以及经验总结.zip

    "nodejs-learning-guide"是针对Node.js的学习资源,包含了一个完整的学习路径和实践经验的总结,对于想要深入理解和掌握Node.js的开发者来说,是一份宝贵的资料。 首先,Node.js的核心特性包括事件驱动、非阻塞I/O...

    nodejs-learning-guide:Nodejs学习笔记以及经验总结,公众号“程序猿小卡”

    Nodejs学习笔记阿里CBU前端团队招人,无论是serverless,跨端,WEB IDE,工程化,智能化,构建还是直播,在CBU前端团队都能够找到适合你的技术方向。感兴趣的小伙伴可以加QQ群沟通(1126560208) Nodejs学习过程中的...

    NodeJS学习笔记之Connect中间件模块(二)

    在NodeJS学习笔记之Connect中间件模块(二)中,作者继续深入讲解了Connect中间件的使用方式和用途。通过上文的回顾,我们可以了解到Connect模块在Node.js中的应用。本文将对Connect中间件的具体使用和源码层面进行...

    NodeJS学习笔记之Connect中间件模块(一)

    NodeJS学习笔记之Connect中间件模块(一)深入解析 在NodeJS开发中,Connect中间件框架是一个重要的工具,尤其对于构建web应用来说。本文旨在引导读者从基础知识过渡到更高级的概念,逐步深入理解Connect中间件及其...

    nodejs-learning:nodejs学习笔记,总结

    "学习笔记"部分可能会包含对Node.js核心概念的解释,如事件循环、回调函数、模块系统、进程和线程等。事件循环是Node.js异步编程的核心,理解它的工作原理对于优化代码和避免回调地狱至关重要。模块系统允许我们按需...

    Nodejs学习笔记之入门篇

    在本文中,我们将深入探讨Node.js的入门知识,特别是针对已经有一定JavaScript基础的开发者。...在后续的学习中,你还将接触到更多Node.js的中间件、框架,如Express和Koa,以及数据库操作等高级主题。

    NodeJS学习笔记之Http模块

    NodeJS作为一个宿主运行环境,以JavaScript为宿主语言,它也有自己实现的一套标准,这篇文章我们就一起来学习一下 “Http模块” 。但是作为前提来说, 希望大家可以先阅读一下官网提供的api,有一个前置了解,这样就...

Global site tag (gtag.js) - Google Analytics