Node.js 入门 笔记

模块(Module)和包(Package)是Node.js 最重要的支柱。开发一个具有一定规模的程序不可能只用一个文件,通常需要把各个功能拆分、封装,然后组合一起,模块正是为了实现这种方式而诞生。Node.js 的模块和包机制的实现参照了CommonJS的标准,但并未完全遵循。

什么是模块

模块是Node.js 应用程序的基本组成部分,文件和模块一一对应的。即一个Node.js 文件就是一个模块,这个文件可能是JavaScript 代码、JSON或者编程过的C/C++扩展。

创建及加载模块

Node.js 提供了exports 和require 两个对象,其中exports 是模块公开的接口,require 用于从外部获取一个模块的接口,即获取模块的exports 对象。
require 不会重复加载模块,也就是无论调用多少次require,获得的模块都是同一个,最终的输出由后者决定的。
注:exports 本身仅仅是一个普通的空对象,即{ },它专门用来声明接口,本质上是通过它为模块闭包的内部建立了一个有限的访问接口。因此它没有任何特殊的地方,所以可替代。不可以通过对exports 直接赋值代替对module.exports 赋值。exports 实际上是一个和module.exports 指向同一个对象的变量,它本身会在模块结束后释放,但module 不会,因此module.exports 来访问接口

创建包

包是在模块基础上更进一步的抽象,类似于函数库、类库。将某个独立的功能封装起来,用于发布、更新、依赖管理和版本控制。
Node.js 的包是一个目录,严格符合CommonJS 规范的包应该具备一下特征:
package.json 必须在包的顶层目录下;
二进制文件应该在bin 目录下;
JavaScript 代码应该在lib 目录下;
文档应该在doc 目录下;
单元测试应该在test 目录下;

package.json 是CommonJS 规定的用来描述包的文件,完全符合规范的package.json 文件应该包含有一下字段。
name:包的名称,必须是唯一的,由小写英文字母、数字和下划线组成,不能包含空格。
description:包的简要说明。
version:符合语义化版本识别规范的版本字符串。
keywords:关键字数组,通常用于搜索。
maintainers:维护者数组,每个元素要包含name、email(可选)、web(可选)字段。
contributors:贡献则数组,格式与maintainers 相同。包含作者应该是贡献数组的第一个元素。
bugs:提交bug 的地址,可以是地址或者电子邮件地址。
licenses:许可证数组,每个元素要包含type(许可证的名称)和url(链接到许可证文本的地址)字段。
repositories:仓库托管地址数组,每个元素都包含type(仓库的类型,如git)、url(仓库的地址)和path(相对于仓库的路径,可选)字段。
dependencies:包的依赖,一个关联数组,由包名称和版本号组成。

使用node-inspector 调试Node.js

使用npm install -g node-inspector 安装 node-inspector
终端通过 node –debug-brk=5858 debug.js
打开另一个终端 $node-inspector

<think>嗯,用户想通过FileZilla连接NAS设备。首先,我需要回忆一下FileZilla的基本配置步骤,以及NAS可能需要的设置。根据之前的引用资料,FileZilla支持SFTP协议,默认端口是22。但NAS可能有不同的配置,所以得确认一下他们的默认端口是否正确。 然后,用户可能需要安装FileZilla客户端。引用[1]提到了官网下载地址,应该先指导用户下载并安装。接下来是配置连接参数,比如主机名、端口、协议类型、用户名和密码。根据引用[2]和[3],使用SFTP协议连接群晖或Linux服务器时,端口是22,但不确定NAS是否相同。可能需要用户查看NAS的文档,或者默认使用22端口,如果不行再调整。 另外,引用[5]提到连接建立但无法显示目录的问题,可能是防火墙或权限问题。在教程里应该提醒用户检查这些方面。比如,确保NAS的SSH服务开启,防火墙允许22端口,以及用户是否有访问权限。此外,可能需要生成SSH密钥对,特别是如果NAS要求密钥认证的话,如引用[3]中的设置root密码步骤,但这里可能涉及密钥配置。 还需要考虑是否需要被动模式设置,但根据引用[5],被动模式可能涉及更多服务器配置,所以暂时先建议用户使用主动模式,或者根据实际情况调整。另外,连接后的文件传输步骤也是必要的,比如如何上传下载文件,确保用户知道基本操作。 可能的问题包括连接失败、认证错误、目录不显示等,需要给出对应的解决方法。比如检查IP和端口是否正确,确认服务开启,以及用户权限是否足够。还要提醒用户如果使用公网IP,可能需要配置DDNS或端口转发,如引用[2]中提到的公网环境连接群晖的情况。 最后,生成相关问题,比如如何排除连接问题,优化传输速度,或者其他NAS系统的区别。这些能帮助用户进一步了解相关知识点。</think>### 通过FileZilla连接NAS的详细教程 #### 一、准备工作 1. **下载安装FileZilla客户端** 访问官网下载地址:[FileZilla客户端下载页面](https://filezilla-project.org/download.php?type=client),点击“Download FileZilla Client”完成安装[^1]。 2. **确认NAS的网络配置** - 确保NAS已开启SSH/SFTP服务(默认端口通常为22)。 - 若通过公网连接,需配置DDNS或公网IP,并在路由器中设置端口转发(例如将外部22端口映射到NAS的22端口)[^2]。 --- #### 二、连接步骤 1. **打开FileZilla客户端** 点击顶部菜单栏的“文件” → “站点管理器” → “新站点”。 2. **填写连接参数** - **协议**:选择 `SFTP - SSH File Transfer Protocol`(NAS一般使用SFTP协议)[^3] - **主机**:输入NAS的IP地址(局域网IP或公网IP/DDNS域名) - **端口**:默认22,若NAS自定义端口则需修改 - **登录类型**:选择“正常” - **用户**:输入NAS的登录用户名(如`admin`) - **密码**:输入对应用户的密码 ```plaintext 示例配置: 协议: SFTP 主机: sftp://fnas.example.com 或 192.168.1.100 端口: 22 用户: admin 密码: ******** ``` 3. **连接验证** - 点击“连接”,首次连接会提示SSH密钥确认,勾选“始终信任此主机”后确认[^4] - 成功连接后,右侧“远程站点”窗口会显示NAS的目录结构。 --- #### 三、常见问题解决 1. **连接失败** - 检查NAS的SSH/SFTP服务是否启用。 - 确认防火墙或路由器未阻止22端口(公网需配置端口转发)[^2]。 - 若提示“Connection timed out”,可能是IP地址或端口错
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值