NODE.JS--如何使用Node.js

2023-11-16

简单的说 Node.js 就是运行在服务端的 JavaScript。
Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。
Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

安装配置
Node.js安装包及源码下载地址为:https://nodejs.org/en/download/。选择Windows 安装包(.msi)运行即可

检查是否安装成功:DOS窗口 输入 node -v 或者 node --version 检查node版本;npm -v 检查npm版本


使用npm来安装node的模块

NPM的全称是Node Package Manager,是随同NodeJS一起安装的包管理和分发工具,它很方便让JavaScript开发者下载、安装、上传以及管理已经安装的包。 
命令:

npm install <module name>
例如:
npm install express -g //安装express模块,-g代表全局安装

全局安装的默认位置一般位于:C:\Users\用户名\AppData\Roaming\npm 
但是现在出现了问题,不管我们安装什么模块,总会报一长串的错误,仔细看错误都是和网络有关,原因是npm的配置出了问题,由于伟大的墙导致我们只是使用npm的原始的registry地址下载很慢,我们可以配置淘宝NPM镜像地址,方法:

npm config set registry ="https://registry.npm.taobao.org/"//这一项不是必须的

但是设置完镜像之后,再次安装node模块还是出错,原因还是网络问题,这时候你就应该想到代理的问题了,使用公司的电脑访问网络需要设置相应的代理,设置npm的代理:

npm config set proxy="http://用户名:密码@192.168.16.189:8080"//@后面的是主机和端口

修改全局路径:

//npm的配置文件一般在你电脑的对应用户目录下面搜索: .npmrc 可以找到此配置文件
npm config set prefix "D:\\nodejs\\node_modules\\npm\\node_cache"//设置下载的模块的存储位置,也就是在全局安装模式下安装的模块的位置
npm root -g //查看npm全局安装目录
npm config set cache "D:\\nodejs\\node_modules\\npm\\node_global_modules" //设置缓存的存储位置

随着以后下载的模块越来越多,我们需要重新设置模块的下载位置和缓存的存储位置 
使用 package.json 
每一个下载的模块都有一个package.json文件,package.json 位于模块的目录下,用于定义包的属性。接下来让我们来看下 express 包的 package.json 文件,位于 node_modules/express/package.json 内容: 
Package.json 属性说明:

name    - 包名。
version - 包的版本号。
description - 包的描述。
homepage    - 包的官网 url 。
author  - 包的作者姓名。
contributors - 包的其他贡献者姓名。
dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
repository   - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
main - main 字段是一个模块ID,它是一个指向你程序的主要项目。就是说,如果你包的名字叫 express,然后用户安装它,然后require("express")。
keywords - 关键字

版本号

使用NPM下载和发布代码时都会接触到版本号。NPM使用语义版本号来管理代码,这里简单介绍一下。 
语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。当代码变更时,版本号按以下原则更新。 

如果只是修复bug,需要更新Z位。 

如果是新增了功能,但是向下兼容,需要更新Y位。 
如果有大变动,向下不兼容,需要更新X位。

简单运行

打开安装目录 找到 node.exe 运行就可以看到类似DOS的窗口----REPL 的命令行窗口

> x = 10
10
> var y = 10
undefined
> x + y
20
> console.log("Hello World")
Hello World
undefined
> console.log("www.runoob.com")
www.runoob.com
undefined
*应用Node.js程序

首先要使用express创建一个项目

使用npm安装Express开发框架:

//命令行输入命令  
        npm install -g express  
 或者   npm install -g express-generator  

新建项目

//命令行输入命令  
        express -t ejs newsproject  //使用express的创建命令创建一个名为newsproject的项目

如果此处出现意外错误:‘express’ 不是内部或外部命令,也不是可运行的程序或批处理文件。 
原因是版本问题:当前版本是4.0.0,改成3.5.0即可运行,在cmd中输入下面命令 
npm install -g express-generator@3.5.0 
或 
npm install -g express@3.5.0 
成功安装express之后 
进入项目目录,运行npm安装

//进入项目目录  
        cd newsproject  //打开项目目录
//输入命令安装  
        npm install  //npm安装

运行项目

//项目目录下运行命令  
         node app.js  //运行此项目

到此为止,我们已经使用express框架自动搭建了一个node服务器,并启动了express提供的一个demo应用,我们可以按照cmd中的提示修改下面的端口号,使用浏览器访问即可得到demo应用的响应。 
浏览器访问:http://127.0.0.1:3000/即可见nodejs站点页面,页面输出:Express

*创建第一个node.js应用:

在我们创建 Node.js 第一个 “Hello, World!” 应用前,让我们先了解下 Node.js 应用是由哪几部分组成的: 
1、引入 required 模块:我们可以使用 require 指令来载入 Node.js 模块。 
2、创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。 
3、接收请求与响应请求, 服务器很容易创建,创建成功之后客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据

步骤一、引入 required 模块 
我们使用 require 指令来载入 http 模块,并将实例化的 HTTP 赋值给变量 http,实例如下: 
var http = require(“http”); 
步骤二、创建服务器 
接下来我们使用 http.createServer() 方法创建服务器,并使用 listen 方法绑定 8888 端口。 函数通过 request, response 参数来接收和响应数据。 
实例如下,在你项目的根目录下创建一个叫 server.js 的文件,并写入以下代码:

var http = require('http');

http.createServer(function (request, response) {

    // 发送 HTTP 头部 
    // HTTP 状态值: 200 : OK
    // 内容类型: text/plain
    response.writeHead(200, {'Content-Type': 'text/plain'});

    // 发送响应数据 "Hello World"
    response.end('Hello World\n');
}).listen(8888);

// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');

分析Node.js 的 HTTP 服务器: 
第一行请求(require)Node.js 自带的 http 模块,并且把它赋值给 http 变量。 
接下来我们调用 http 模块提供的函数: createServer 。这个函数会返回 一个对象,这个对象有一个叫做 listen 的方法,这个方法有一个数值参数, 指定这个 HTTP 服务器监听的端口号。

以上代码我们完成了一个可以工作的 HTTP 服务器,也就是说上面的代码我们就可以完成了一个本地服务器的搭建,当我们运行上面的代码的时候,一个本地服务器就开始运行了,我们只需要打开浏览器向此服务器发送请求,此服务器就会给浏览器返回你定义的返回数据

使用 node 命令执行以上的代码:

node server.js
Server running at http://127.0.0.1:8888 //cmd输出信息

接下来,打开浏览器访问 http://127.0.0.1:8888/,你会看到一个写着 “Hello World”的网页。 
nodejs-helloworld



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NODE.JS--如何使用Node.js 的相关文章

随机推荐

  • linux服务器成功卸载和安装anaconda(详细)

    卸载anaconda 只需要移除其文件夹即可 sudo rm rf path anaconda3 下载anaconda 在官网查找一下自己需要的anaconda版本 下载之后是一个 sh文件 并将其上传至服务器节点 也可以在清华源节点进行下
  • Linux基础笔记10

    find 常用示例 用来在指定目录下查找文件 任何位于参数之前的字符串都将被视为欲查找的目录名 如果使用该命令时 不设置任何参数 则 find 命令将在当前目录下查找子目录与文件 并且将查找到的子目录和文件全部进行显示 学习参考博文 骏马金
  • vue3实现H5监听浏览器回退并阻止回退

    当你的移动端页面有弹窗的组件并且这个组件不是来自于某些知名的组件库 你是否有这样的需求 当用户唤起弹窗之后又按下了手机自带的回退键 弹窗之前的页面也被关掉了 而用户本身的意愿是关掉弹窗而已 如果你也有这样的诉求 这篇文章帮你解决 1 给hi
  • 在不支持AirDrop的Mac上开启和使用AirDrop的方法

    本帖最后由 luciiferre 于 12 11 18 06 54 编辑 苹果为OS X 10 7 Lion系统加入了全新的AirDrop功能 该功能允许两台Mac之间无线传输文件 用户无需设置 只需要打开AirDrop文件夹即可查看到其他
  • 计算机网络之物理层

    目录 一 物理层概述 二 数据通信的基础知识 2 1数据通信系统的模型 2 2关于信道的几个基本概念 2 3信道的极限容量 三 物理层下面的传输媒体 3 1导引型传输媒体 3 2非导引型传输媒体 四 信道复用技术 五 数字传输系统 六 宽带
  • 华为OD机试真题 Java 实现【字符串加密】【2023Q1 100分】,附详细解题思路

    一 题目描述 有一种技巧可以对数据进行加密 它使用一个单词作为它的密匙 下面是它的工作原理 首先 选择一个单词作为密匙 如TRAILBLAZERS 如果单词中包含有重复的字母 只保留第1个 将所得结果作为新字母表开头 并将新建立的字母表中未
  • 闭环系统的零极点图判定稳定性_三步教你设计运放电路稳定性

    1 前言 集成运算放大器的参数有很多 但涉及到实际应用环境的不同 一些参数非常重要 另外一些则相对次要 例如 在交流高频领域 会重视带宽和压摆率 而在直流精密场合 则重视输入失调电压 输入偏置电流 还有一些参数 不管直流还是交流 都会重点关
  • 清华大学开源的chatGLM-6B部署实战

    Windows部署 win10 通过wsl部署 常见问题 torch cuda OutOfMemoryError CUDA out of memory 在Windows的系统环境变量中增加 变量名 PYTORCH CUDA ALLOC CO
  • 通过alter table A engine=innodb来重建表

    1 业务场景 即为什么要重建表 由于前期的存储设计不合理 表里有个字段 用于存储大段字符串 导致存储到磁盘的空间极大 严重影响表相关的增删改查速度 所有需要对表存储设计进行重构 并对表进行重建 2 实践记录 我们业务场景是由软删字段的 de
  • C++,类的多态

    一 多态的基本概念 多态 父类的指针或引用 指向或初始化子类的对象 调用子类对父类重新的函数 进而展开子类的功能 函数重新的必要条件 必须有继承关系 子类和父类有同名同类型的函数 父类中的该函数必须是虚函数 虚函数 在函数前加上virtua
  • K8s Kubernetes集群部署

    root master yum y install docker ce root master systemctl enable now docker Created symlink etc systemd system multi use
  • QT取消标题栏,如何实现窗口移动

    qt自带的标题栏在多个平台都显示的不一样 而且在常用的window平台也非常的不好看 所以我们经常会用到的美化方式就是会取消标题栏的显示 但是取消标题栏的显示就会出现一个问题就是无法实现窗口的移动 所以这里给出一个方法实现左键按压窗口控件任
  • MATLAB算法实战应用案例精讲-【异常检测】OCSVM算法(附Python和MATLAB代码)

    目录 前言 几个高频面试题目 1 OneClass 与二分类 多分类的区别
  • 计算机体系结构基础知识介绍之缓存性能的十大进阶优化之非阻塞缓存(四)

    优化四 非阻塞缓存 提高缓存带宽 对于允许乱序执行的流水线计算机 处理器不需要因数据高速缓存未命中而停止 例如 处理器可以继续从指令高速缓存获取指令 同时等待数据高速缓存返回丢失的数据 非阻塞高速缓存或无锁高速缓存允许数据高速缓存在未命中期
  • 继承中方法的覆盖重写_概念与特点,

    重写 Override 概念 在继承关系当中 方法的名称一样 参数列表也一样 重写 Override 方法的名称一样 参数列表 也一样 覆盖 覆写 重载 Overload 方法的名称一样 参数列表 不一样 方法的覆盖重写特点 创建的是子类对
  • 必刷算法题之字符串(题目及代码)---C++

    文章目录 第1题 执行操作后的变量值 第2题 罗马数字转整数 第3题 句子中的最多单词数 第4题 左旋转字符串 第5题 宝石与石头 第6题 Excel 表中某个范围内的单元格 第7题 括号的最大嵌套深度 第8题 分割平衡字符串 第9题 最长
  • CACC 协同式自适应巡航模型 搭建四辆车在carsim和simulink进行协同式自适应巡航 其中间距策略考虑领航车速的影响,各个车辆采用分层式控制,分层式控制器主要分为下层控制

    CACC 协同式自适应巡航模型 仿真软件版本 Carsim2016 Matlab2018b及以上 搭建四辆车在carsim和simulink进行协同式自适应巡航 其中间距策略考虑领航车速的影响 各个车辆采用分层式控制 分层式控制器主要分为下
  • ubuntu 22.04 安装 Docker Desktop 及docker介绍

    目录 一 Docker Desktop 安装 1 我们先去官网下载安装包 2 Install Docker Desktop on Ubuntu 3 Launch Docker Desktop 二 Docker 介绍 什么是docker 如何
  • 启动mongodb数据库 mongo命令时回报计算机拒绝访问

    当你没有启动mongodb数据库的时候 bin目录下输入mongo命令时回报计算机拒绝访问 这个时候解决办法是进入bin目录输入mongodb exe dbpath c data db dbpaht 后面一定要加 双引号 否则会报错误
  • NODE.JS--如何使用Node.js

    简单的说 Node js 就是运行在服务端的 JavaScript Node js 是一个基于Chrome JavaScript 运行时建立的一个平台 Node js是一个事件驱动I O服务端JavaScript环境 基于Google的V8