【保姆级】前端使用node.js基础教程

在这里插入图片描述

文章目录

      • 安装和版本管理:
      • npm 命令(Node 包管理器):
      • 运行 Node.js 脚本:
      • 调试和开发工具:
      • 其他常用命令:
      • 模块管理:
      • 包管理:
      • 调试工具:
      • 异步编程和包管理:
      • 环境变量:
      • 单元测试:
      • 调试工具:
      • 包管理工具:
      • Web 框架和工具:


Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,常用于服务器端编程。以下是一些 Node.js 中常用的命令:

安装和版本管理:

  1. 安装 Node.js:
    • 在官方网站下载适合你操作系统的 Node.js 安装包,并按照指示进行安装。
  2. 检查 Node.js 版本:
    node -v
    

npm 命令(Node 包管理器):

  1. 初始化项目:
    npm init
    
  2. 安装依赖包:
    npm install <package_name>
    
  3. 全局安装包:
    npm install -g <package_name>
    
  4. 卸载包:
    npm uninstall <package_name>
    

运行 Node.js 脚本:

  1. 运行脚本文件:
    node app.js
    

调试和开发工具:

  1. Node.js 调试器:
    node inspect app.js
    
  2. 使用 nodemon(自动重启工具):
    • 首先安装 nodemon:
      npm install -g nodemon
      
    • 使用 nodemon 运行脚本:
      nodemon app.js
      

其他常用命令:

  1. 查看 npm 包版本:
    npm list
    
  2. 更新 npm 包:
    npm update <package_name>
    
  3. 列出全局安装的 npm 包:
    npm list -g --depth 0
    

模块管理:

  1. 安装全局模块:
    npm install -g <module_name>
    
  2. 查看已安装的全局模块:
    npm list -g
    

包管理:

  1. 创建 package.json 文件:
    npm init -y
    
  2. 安装并保存依赖到 package.json 文件中:
    npm install <package_name> --save
    

调试工具:

  1. 使用 Chrome DevTools 调试 Node.js:
    • 启动 Node.js 带调试端口的脚本:
      node --inspect-brk=9229 app.js
      
    • 在 Chrome 浏览器中打开 chrome://inspect 并点击 “Configure”,添加远程目标并进行调试。

异步编程和包管理:

  1. 使用 npm scripts 运行自定义脚本:
    • 在 package.json 中定义脚本:
      "scripts": {"start": "node index.js","test": "echo \"Error: no test specified\" && exit 1"
      }
      
    • 运行脚本:
      npm start
      

环境变量:

  1. 设置环境变量:
    • 在命令行中设置环境变量:
      NODE_ENV=production node app.js
      
    • 在代码中访问环境变量:
      const environment = process.env.NODE_ENV;
      

单元测试:

  1. 使用测试框架(如 Mocha、Jest)进行单元测试:
    • 安装测试框架:
      npm install --save-dev mocha
      
    • 编写测试用例并运行测试:
      npm test
      

调试工具:

  1. 使用 Node.js 自带的调试器:

    • 启动调试模式:
      node inspect app.js
      
    • 在调试模式下,可以使用 c(继续执行)、n(逐行执行)、repl(进入 REPL 模式)等命令进行调试。
  2. 使用 VS Code 进行 Node.js 调试:

    • 在 VS Code 中配置 launch.json 文件,设置调试选项并启动调试。

包管理工具:

  1. 使用 yarn 替代 npm 进行包管理:

    • 安装 yarn:
      npm install -g yarn
      
    • 使用 yarn 安装依赖、运行脚本等操作。
  2. 使用 nvm 进行 Node.js 版本管理:

    • 安装 nvm(Node Version Manager):
      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
      
    • 使用 nvm 安装、切换和管理不同版本的 Node.js。

Web 框架和工具:

  1. Express.js:

    • Express 是一个流行的 Node.js Web 应用程序框架,可用于快速搭建服务器端应用。
    • 安装 Express:
      npm install express
      
  2. Socket.io:

    • Socket.io 是一个实时通信库,可用于构建实时 Web 应用程序。
    • 安装 Socket.io:
      npm install socket.io
      

您好,我是肥晨。
欢迎关注我获取前端学习资源,日常分享技术变革,生存法则;行业内幕,洞察先机。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/756975.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【leetcode热题】 地下城游戏

恶魔们抓住了公主并将她关在了地下城 dungeon 的 右下角 。地下城是由 m x n 个房间组成的二维网格。我们英勇的骑士最初被安置在 左上角 的房间里&#xff0c;他必须穿过地下城并通过对抗恶魔来拯救公主。 骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0…

【pdf工具】pdf24tools

pdf24tools是一款功能强大的在线PDF工具,它为用户提供了多种实用的功能,方便用户处理和编辑PDF文件。 合并PDF文件、拆分PDF文件、压缩PDF文件和转换PDF文件格式…

分布式搜索引擎elasticsearch专栏三

1.数据聚合 聚合&#xff08;aggregations&#xff09;可以让我们极其方便的实现对数据的统计、分析、运算。例如&#xff1a; 什么品牌的手机最受欢迎&#xff1f; 这些手机的平均价格、最高价格、最低价格&#xff1f; 这些手机每月的销售情况如何&#xff1f; 实现这些…

[Qt项目实战]Qt实现美松标签打印机标签二维码打印(QR混排模式+页打印模式)

1、硬件信息、环境参数及配套资料 1.1 打印机信息及开发环境 打印机 美松标签打印机串口/USB通讯Qt5.9 64位程序 1.2 打印机配套开发资料 打印机主要配套测试工具、开发SDK及驱动等&#xff0c;均由厂家提供。 开发Demo及动态库&#xff1a;MsPrintSDK-DLL-V2.2.2.5 链接&…

Android Studio实现内容丰富的安卓社交论坛平台

获取源码请点击文章末尾QQ名片联系&#xff0c;源码不免费&#xff0c;尊重创作&#xff0c;尊重劳动 项目编号085 1.开发环境android stuido jdk1.8 eclipse mysql tomcat 2.功能介绍 安卓端&#xff1a; 1.注册登录 2.查看公告 3.视频列表 4.资源列表 5.帖子列表 6.个人中心 …

Design Script之案例练习:曲线组合

让我们来探索一下如何创建分组曲线函数。这个函数将取一个无序曲线列表(必须是连续的),并将它们组合成分组的循环。 在这个例子中,我们将采取一系列的9个爆炸矩形,并洗牌合成曲线。这给了我们36条单独的曲线,它们可以正确地组合回各自的矩形中。 一些分散的曲线显示在右边…

基于python在线图书馆信息管理系统flask-django-nodejs-php

科学技术日新月异的如今&#xff0c;计算机在生活各个领域都占有重要的作用&#xff0c;尤其在信息管理方面&#xff0c;在这样的大背景下&#xff0c;学习计算机知识不仅仅是为了掌握一种技能&#xff0c;更重要的是能够让它真正地使用到实践中去&#xff0c;以创新的视角去不…

Spring-Mybatis字段映射

MybatisComfig.xml文件设置 <settings><setting name"mapUnderscoreToCamelCase" value"true"/> </settings> 完成全局配置将数据库下划线映射为驼峰式命名

nodejs基于vue班级管理系统的设计与实现-flask-django-python-php

根据现实需要&#xff0c;此系统我们设计出一下功能&#xff0c;主要有以下功能模板。 1.学生功能&#xff1a;首页、个人中心、课程信息管理、学生成绩管理、班级事件管理、班费支出管理、班级相册管理、班级音乐角管理。 2.管理员功能&#xff1a;首页、个人中心、班级管理、…

【征稿进行时|见刊、检索快速稳定】2024年区块链、物联网与复合材料与国际学术会议 (ICBITC 2024)

【征稿进行时|见刊、检索快速稳定】2024年区块链、物联网与复合材料与国际学术会议 (ICBITC 2024) 大会主题: (主题包括但不限于, 更多主题请咨询会务组苏老师) 区块链&#xff1a; 区块链技术和系统 分布式一致性算法和协议 块链性能 信息储存系统 区块链可扩展性 区块…

[Uni-app] 微信小程序的圆环进度条

效果图&#xff1a; 组件完整代码如下&#xff1a; <template><view class"base-style":style"position: relative;width: diameter px;height: diameter px;display: flex;flex-direction: row;background-color: bgColor ;"><!…

《动手学深度学习》 第3章 线性神经网络 部分笔记

文章目录 前言一、线性回归1.知识点&#xff08;1&#xff09;解析解&#xff08;2&#xff09;泛化&#xff08;3&#xff09;随机梯度下降&#xff08;4&#xff09;python列表推导&#xff08;5&#xff09;全连接层 二、线性回归的从零开始实现1.知识点&#xff08;1&#…

HCIP作业

实验要求&#xff1a; 1、R6为ISP&#xff0c;接口IP地址均为公有地址&#xff0c;该设备只能配置IP地址&#xff0c;之后不能再对其进行任何配置&#xff1b; 2、R1-R5为局域网&#xff0c;私有IP地址192.168.1.0/24&#xff0c;请合理分配&#xff1b; 3、R1、R2、R4&#x…

硬件基础:带缓启动MOS管电源开关电路

电源开关电路&#xff0c;经常用在各“功能模块”电路的电源通断控制&#xff0c;是常用电路之一。 本文要讲解的电源开关电路&#xff0c;是用MOS管实现的&#xff0c;且带缓开启功能&#xff0c;非常经典。 一、电路说明 电源开关电路&#xff0c;尤其是MOS管电源开关电路…

webpack中常见的Loader?解决了什么问题?

一、是什么 loader 用于对模块的"源代码"进行转换&#xff0c;在 import 或"加载"模块时预处理文件 webpack做的事情&#xff0c;仅仅是分析出各种模块的依赖关系&#xff0c;然后形成资源列表&#xff0c;最终打包生成到指定的文件中。如下图所示&#…

微信小程序 ---- 慕尚花坊 结算支付

结算支付 01. 配置分包并跳转到结算页面 思路分析&#xff1a; 随着项目功能的增加&#xff0c;项目体积也随着增大&#xff0c;从而影响小程序的加载速度&#xff0c;影响用户的体验。 因此我们需要将 结算支付 功能配置成一个分包&#xff0c; 当用户在访问设置页面时&a…

使用 Redux 管理 React 应用状态

使用 Redux 管理 React 应用状态 在复杂的 React 应用中&#xff0c;管理组件状态变得越来越复杂&#xff0c;这时候引入 Redux 可以帮助我们更好地管理状态。Redux 是一个可预测状态容器&#xff0c;它可以帮助我们统一管理应用的状态&#xff0c;使得状态变化更加可控。本文…

MATLAB环境下基于K-SVD的一维时间序列信号瞬态特征提取

当旋转机械某一零部件发生故障时&#xff0c;其振动信号中就会产生周期性循环冲击响应—瞬态成分&#xff0c;这些瞬态成分往往包含着重要的故障信息。因此&#xff0c;利用合适的方法对振动信号中因局部故障引起的瞬态冲击响应成分进行提取是一种较为有效的旋转机械零部件故障…

【RabbitMQ | 第四篇】基于RabbitMQ实现延迟队列

文章目录 4.基于RabbitMQ实现延迟队列4.1延迟队列定义4.2基于DLX&#xff08;死信交换机&#xff09;实现延迟队列4.2.1实现思路4.2.2主要流程4.2.3实战&#xff08;1&#xff09;创建两个消息队列&#xff1a;原始消息队列、死信队列 and 为原始消息队列关联私信交换机&#x…

【Ubuntu 22.04 LTS】安装vmware提示没有兼容的gcc

在ubuntu 22.04 上运行wmware时显示找不到兼容的gcc 这里要求的是12.3.0版本&#xff0c;我查看了自己的gcc版本是上面的11.4.0 在ask ubuntu上找到了解决方法 尝试了这一条 三条命令执行完成之后&#xff0c;再次运行vm&#xff0c;没有提示gcc的问题 点击install下载相应模…