node/npm的使用

使用node命令

打开终端输入node,之后输入console.log()可以向控制台输出指定字符串,如下图所示:
img
如果想要运行一个脚本文件也可以将js代码编写到文件中,执行node指令也是一样的,如下图所示:
img

Node.js模块

在编写大型项目时,为了提高代码的复用,会将项目进行模块化,在node.js中,一个文件对应一个模块,导入时可以根据文件路径导入不同的模块。

exports对象

exports可以将整个模块作为一个对象进行导出。
module.exports则是将模块中的一个变量或方法进行导出。
使用moudle.exports导出可以直接使用,而使用exports导出的是对象,需要调用对象中的成员方法/变量才可以使用。

var hello = () => {
    console.log("hello world")
}

// 导出hello方法
module.exports = hello


// 导出
exports.test = () => {
    console.log("test")
}

module对象

将模块进行导入

var app = require('./hello');
// app()

// 使用exports进行导出
app.test()
// 使用moudle.exports进行导出
app()

NPM基础

npm是node js的包管理工具,类似python的pip、Java的maven,可以根据版本将指定的包依赖导入到项目中,使用npm -v 查看npm版本,如下图所示:
img

全局安装

使用全局安装的包可以在系统的任何地方中进行导入使用。

npm install -g

局部安装

使用局部安装的包只能在项目中进行使用,以本地安装的方式会将依赖写入到package.json文件中。

npm install 

保存依赖到package.json的dependencies下

npm install [moudle-name] --save

保存依赖到dev-dependencies下

npm install [moudle-name] --save-dev

dependencies是运行时的依赖,
devDependencies是开发时的依赖。

更新模块

可以使用以下命令对指定包检查是否有更新

npm outdated [moudle-name]

使用update命令来更新模块

npm update [moudle-name]

还可以将package.json的版本设置为最新版本之后npm update也是可以的

模块卸载

npm uninstall [moudle-name]

新建Node项目

  1. 新建一个项目目录并进入目录
mkdir test
cd test
  1. 使用npm init 初始化node项目,输入一些项目的基本信息
npm init
package name: (pro) test
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:                                                                                                                                                                  
keywords:                                                                                                                                                                        
author:                                                                                                                                                                          
license: (ISC)                                                                                                                                                                   
About to write to D:\web\ng\node-pro\package.json:

{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}


Is this OK? (yes) yes
  1. 安装express模块
npm install express -g
  1. 导入express并创建一个简单的web服务器
// 导入express模块
var express = require('express')

var app = express()
app.get('/', (req, res) => {
    // 服务端响应信息
    res.send('hello world')
})

// 箭头7979端口
app.listen(7979)
  1. 运行node项目
node index.js
  1. 打开浏览器如下图所示
    img

Node项目结构

img
index.js用于编写我们具体的业务代码
node_modules存储项目模块依赖,在复制项目时,不要复制node_modules文件夹,否则会出现意外错误,应当复制其他项目其他文件后使用npm install 自动安装版本依赖到项目中。
package.json用于存储模块的版本信息,通过npm install可以根据package.json中的模块版本安装到项目中。
模板版本对照如下所示

  • 4.7: 完美匹配4.7版本
  • >4.7: 高于4.7版本
  • >=4.7: 高于等于4.7版本
  • <4.7: 小于4.7版本
  • <=: 小于等于4.7版本
  • ~4.7: 约等于4.7版本,可以是4.7.xxx之类的版本号
  • ^4.7: 版本区间 (4.7, 5.0)
  • 4.7.: 匹配前缀为4.7.的版本
    -
    : 任何版本号

package-lock.json: 如果版本是使用区间的话,每次使用npm install都会根据最新的版本模块安装依赖到项目中,由于开发环境和线上环境执行npm install的时间点不同,会导致环境模块依赖不同,可能会出现依赖错误的问题。
package-lock.json就是为了解决这个问题的,在package-lock.json配置了系统版本之后就会对模块中的依赖进行锁定,避免版本不一致的问题。

posted @   RainbowMagic  阅读(61)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示