Nodejs笔记

本文围绕Node模块npm展开,介绍了其安装方式,包括全局和本地模式,还说明了查看模块文件夹、已安装包、帮助命令等操作,以及包的依赖关系、源文件地址等信息。此外,提及了npm包的发布、创建package.json文件等内容,还介绍了模块接口和相关字段规范。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1、npm install moduleNames:安装Node模块
安装完毕后会产生一个node_modules目录,其目录下就是安装的各个node模块。

node的安装分为全局模式和本地模式。
一般情况下会以本地模式运行,包会被安装到和你的应用程序代码的本地node_modules目录下。
在全局模式下,Node包会被安装到Node的安装目录下的node_modules下。

全局安装命令为$npm install -g moduleName
获知使用$npm set global=true来设定安装模式,$npm get global可以查看当前使用的安装模式。

示例:

npm install express 

默认会安装express的最新版本,也可以通过在后面加版本号的方式安装指定版本,如npm install express@3.0.6

npm install <name> -g 

将包安装到全局环境中

但是代码中,直接通过require()的方式是没有办法调用全局安装的包的。全局的安装是供命令行使用的,就好像全局安装了vmarket后,就可以在命令行中直接运行vm命令

npm install <name> --save 

安装的同时,将信息写入package.json中项目路径中如果有package.json文件时,直接使用npm install方法就可以根据dependencies配置安装所有的依赖包,这样代码提交到github时,就不用提交node_modules这个文件夹了。

2、npm view moduleNames:查看node模块的package.json文件夹
注意事项:如果想要查看package.json文件夹下某个标签的内容,可以使用$npm view moduleName labelName

3、npm list:查看当前目录下已安装的node包
注意事项:Node模块搜索是从代码执行的当前目录开始的,搜索结果取决于当前使用的目录中的node_modules下的内容。$ npm list parseable=true可以目录的形式来展现当前安装的所有node包

4、npm help:查看帮助命令

5、npm view moudleName dependencies:查看包的依赖关系

6、npm view moduleName repository.url:查看包的源文件地址

7、npm view moduleName engines:查看包所依赖的Node的版本

8、npm help folders:查看npm使用的所有文件夹

9、npm rebuild moduleName:用于更改包内容后进行重建

10、npm outdated:检查包是否已经过时,此命令会列出所有已经过时的包,可以及时进行包的更新

11、npm update moduleName:更新node模块

12、npm uninstall moudleName:卸载node模块

13、一个npm包是包含了package.json的文件夹,package.json描述了这个文件夹的结构。访问npm的json文件夹的方法如下:

$ npm help json 

此命令会以默认的方式打开一个网页,如果更改了默认打开程序则可能不会以网页的形式打开。

14、发布一个npm包的时候,需要检验某个包名是否已存在

$ npm search packageName

15、npm init:会引导你创建一个package.json文件,包括名称、版本、作者这些信息等

16、npm root:查看当前包的安装路径
npm root -g:查看全局的包的安装路径

17、npm -v:查看npm安装的版本


模块接口的唯一变化是使用 module.exports = Hello 代替了exports.world = function(){}。 在外部引用该模块时,其接口对象就是要输出的 Hello 对象本身,而不是原先的 exports


express获取参数有三种方法:官网介绍如下

Checks route params (req.params), ex: /user/:id
Checks query string params (req.query), ex: ?id=12
Checks urlencoded body params (req.body), ex: id=

ejs结尾的文件就是模版文件,可以看到在文件中我们用了三种标签方式(这种标签方式有过其它web开发经验的应该很好看懂)

1.<%= %>

这个标签在接到收到title: '<h1>Express</h1>'时,从显示效果来看,他直接输出HTML标签到页面上,输出的是转义后的变量值

2.<%- %>

而这个标签,从显示效果上看,他没有直接输出HTML代码到页面上,输出的是没有转义后的变量值

3.<% %>

而这个标签,从显示上看,他循环了出来参数中的值,标签中是javascript逻辑代码,注意括号的开闭合


Express 依赖于 connect,提供了大量的中间件,可以通过 app.use 启用。 app.configure 中启用了5个中间件: bodyParser 、methodOverride 、 router 、 static 以及 errorHandler

bodyParser 的功能是解析客户端请求,通常是通过 POST 发送的内容。
methodOverride 用于支持定制的 HTTP 方法 ① 。
router 是项目的路由支持。
static 提供了静态文件支持。
errorHandler 是错误控制器。

app.get('/', routes.index); 是一个路由控制器,用户如果访问“ / ”路径,则由 routes.index 来控制。
最后服务器通过 app.listen(3000); 启动,监听3000端口。


Node.js 在调用某个包时,会首先检查包中package.json文件的main字段,将其作为包的接口模块,如果 package.jsonmain字段不存在,会尝试寻找 index.jsindex.node作为包的接口。

package.jsonCommonJS 规定的用来描述包的文件,完全符合规范的 package.json 文件应该含有以下字段。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值