nodejs 笔记:require引入

require引入知识点:
1.可以使用exports方式导出一个js,这个的缺点是无形中增加了一个命名空间

var bar = require("./bar.js");
var msg = "你好";
var info = "呵呵";

function showInfo(){
    console.log(info);
}

exports.msg = msg;
exports.info = info;
exports.showInfo = showInfo;
var foo = require("./test/foo.js");

console.log(foo.msg);
console.log(foo.info);
foo.showInfo();

2.也可以使用module.exports导出一个类,使用new关键字来实例化

function People(name,sex,age){
    this.name = name;
    this.sex = sex;
    this.age = age;
}

People.prototype = {
    sayHello : function(){
        console.log(this.name + this.sex + this.age);
    }
}

//此时,People就被视为构造函数,可以用new来实例化了。
module.exports = People;
var People = require("./test/People.js");
var xiaoming = new People("小明","男","12");
xiaoming.sayHello();

3.没有写./表示从特殊路径引入,比如module.exports

var foo = require("foo.js");  //没有写./

4.如果连.js都没有写,说明是从文件夹引入,走的是package.json里面的main对应的文件,如果没有package.json的话,则走的是index.js文件
package.json必须在根文件夹下面

{
  "name": "kaoladebar",
  "version": "1.0.1",
  "main" : "app.js"
}
### Node.js 学习笔记与教程 #### 初识 Node.js 和其核心概念 Node.js 是一种基于 Chrome V8 引擎构建的 JavaScript 运行环境,允许开发者使用 JavaScript 创建高性能服务器端应用程序。它通过事件驱动 I/O 模型提供高效的性能表现[^1]。 在浏览器环境中,JavaScript 的组成主要包括 ECMAScript 标准、DOM(文档对象模型)、BOM(浏览器对象模型),以及一些特定于浏览器的功能扩展。而在 Node.js 中,则引入了诸如 `fs` 文件系统模块、`http` HTTP 请求处理模块等内置工具来补充功能需求。 #### 内置模块介绍 以下是几个常用的 Node.js 内置模块及其基本用途: - **FS 模块**: 提供文件系统的访问能力,可以实现同步或异步方式下的文件读取/写入操作。 ```javascript const fs = require('fs'); // 同步读取文件内容 let data = fs.readFileSync('./example.txt', 'utf8'); console.log(data); ``` - **Path 模块**: 处理并转换文件路径字符串。 ```javascript const path = require('path'); let filePath = path.join(__dirname, 'subdir', 'file.txt'); console.log(filePath); ``` - **HTTP 模块**: 构建 Web 服务的基础组件之一。 ```javascript const http = require('http'); const server = http.createServer((req, res) => { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }); server.listen(3000, 'localhost'); console.log('Server running at http://localhost:3000/'); ``` #### 模块化开发 为了更好地组织代码结构,在 Node.js 开发过程中推荐采用模块化的编程方法。目前主流有两种规范被广泛接受和支持——CommonJS 和 ES Modules (ECMAScript Module)[^3]。 对于 CommonJS 来说,默认情况下每个 `.js` 文件都是独立的一个模块;如果想让其他地方能够调用当前定义好的函数或者变量的话就需要显式地将其暴露出去(`module.exports`) 并且由另一方接收 (`require()`) 。而对于 ES6+ 版本则提供了更加简洁优雅的方式来进行默认导出(default export)/命名导出(named exports),并通过 import 关键字完成相应加载过程。 #### NPM 工具链概述 NPM 不仅作为全球最大的开源库生态系统存在,同时也是 Node.js 应用程序的主要包管理解决方案。利用 npm 我们不仅可以轻松安装第三方依赖项还可以发布自己的作品到社区共享给更多的人群受益。 另外值得一提的是 nodemon —— 一款非常实用的小插件用于监控源码变动自动重启应用进程从而极大提升调试效率。 ```bash # 安装 nodemon npm install --save-dev nodemon # 使用 nodemon 启动项目 npx nodemon app.js ``` #### 部署至云端平台 当本地测试完成后可以选择合适的服务提供商将自己的站点部署上线运行起来。比如 Heroku 就是非常受欢迎的选择因为它简单易用而且免费额度足以满足初期阶段的需求[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值