Node.js的安装下载和运行JS代码和常用命令和按键

 基本介绍


基本介绍

Node.js不是一个编程语言。它是一个基于基于 Chrome V8 引擎 的JavaScript 运行环境,在这个环境里可以运行js代码,这个环境是基于V8引擎来实现,自身在 I/O 上非常轻量。能在处理大量请求时持有很多开放的连接,并且只占用一小部分内存。它的设计目标是保证响应能力,跟浏览器一样

一、下载安装Node.js

官网:英文 中文

1、版本选择:

  • LTS: 长期稳定版, 项目开发建议下载这个版本

  • Current: 最新尝鲜版 。最新版包含了一些新功能,如果想学习最新的功能,可以下载这个版本。最新版可能会有一些未知的bug。

点击左侧的按钮(有LTS标识的那个),会立即下载,注意:不同系统选择对应的安装文件

2、安装:

  1. 找到你下载的安装包(不同的版本有不同的安装包)
  2. 双击安装文件开始安装(傻瓜式安装,一路 next )
  3. 安装目录记得使用英文路径,路径中不要出现中文

3、测试是否安装成功

打开终端,在终端的命令窗口中输入 node -v 命令(node后面有个空格),然后回车。如果在终端窗口中能够打印出 Node.js 的版本号(图中版本号v16.14.2),代表Node.js已经安装成功

二、在Node.js环境中运行JS代码

1.终端窗口运行(不重要哦)

说明:不重要,类似于浏览器调试工具的“Console”面板,只适合运行少量的测试代码,看一下就行

操作步骤:

  • 打开任意终端,直接输入 node 命令并回车

  • 执行你的JS代码,按回车表示执行

  • 按两次“Ctrl+C”退出

2.使用node命令执行js文件

这个比较常用,可以运行写到js文件里面的js代码

操作步骤:

  • 打开终端,要注意终端的路径,在终端的路径中,要能找到你的js文件。

  • 输入 “node 要执行的js文件

  • node 文件名.js
  • 执行文件的时候,需要保证 node xxx.js 这种格式

  • node只能运行JS代码,只能运行js代码

三、常用的命令行下的命令及按键

(1)node 空格 某个js文件         // 调用 node 程序,运行某个js文件

(2)clear  或者  cls            // 清空界面

(3)ls 或者 dir                 // 查看列表(list)

(4)cd 目录名                   // 进入到目录中去

(5)cd ..                      // 返回上一级目录

(6)cd \						// 直接回到根目录
                   
(7)Ctrl+C                     // 停止 Node 程序

(8)输入部分文件名后按下 Tab 键  // 补全文件名 或 目录名, 多次tab会进行切换

(9)↑ ↓ 上下箭头                // 切换历史输入

总结

1、项目开发下载的版本选择上,记得选择LTS长期稳定版,最新版可能会有一些未知的BUG。

2、安装路径中不要出现中文,安装后要在终端中输入node-v查看是否安装成功

3、node只能运行js文件,执行js文件时,记得注意终端的路径

要注意NodeJS中没有DOM,没有BOM,也没有window对象

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
以下是一个使用Node.js实现的多人聊天室的代码,以及使用Express框架实现跳转到聊天室页面的方法。 服务器端代码: 1. 导入模块和创建服务器 ```javascript const express = require('express'); const app = express(); const http = require('http').createServer(app); const io = require('socket.io')(http); ``` 首先导入了`express`、`http`和`socket.io`模块,然后创建了一个`express`应用程序对象`app`和一个`http`服务器对象`http`。使用`socket.io`模块将`http`服务器对象包装成一个`WebSocket`服务器,并将其传递给`io`对象。 2. 处理客户端连接请求和消息发送 ```javascript const users = []; io.on('connection', (socket) => { console.log('a user connected'); // 处理客户端连接请求 socket.on('login', (username) => { users.push({id: socket.id, username}); io.emit('userList', users); socket.broadcast.emit('message', {username: '系统消息', content: `${username}加入了聊天室`}); }); // 处理客户端消息发送 socket.on('message', (message) => { const user = users.find(u => u.id === socket.id); if (user) { io.emit('message', {username: user.username, content: message}); } }); // 处理客户端断开连接 socket.on('disconnect', () => { console.log('user disconnected'); const user = users.find(u => u.id === socket.id); if (user) { users.splice(users.indexOf(user), 1); io.emit('userList', users); socket.broadcast.emit('message', {username: '系统消息', content: `${user.username}离开了聊天室`}); } }); }); ``` 使用`io.on('connection', callback)`方法来处理客户端的连接请求。在回调函数中,首先将新连接的客户端信息存储到一个数组`users`中。当有客户端发送`login`事件时,将该客户端的用户名加入到`users`数组中,并使用`io.emit()`方法向所有客户端广播用户列表和系统消息。当有客户端发送`message`事件时,将该消息广播给所有客户端。当有客户端断开连接时,将该客户端从`users`数组中删除,并向所有客户端广播用户列表和系统消息。 客户端代码: 1. 连接服务器 ```javascript const socket = io(); socket.on('connect', () => { console.log('connected'); }); ``` 使用`io()`方法连接服务器,并使用`socket.on('connect', callback)`方法处理连接成功的事件。 2. 处理用户登录和消息发送 ```javascript const form = document.querySelector('form'); const input = document.querySelector('input'); const ul = document.querySelector('ul'); const userList = document.querySelector('#userList'); form.addEventListener('submit', (event) => { event.preventDefault(); const username = input.value.trim(); if (username) { socket.emit('login', username); form.style.display = 'none'; ul.style.display = 'block'; } }); socket.on('userList', (users) => { userList.innerHTML = ''; users.forEach(user => { const li = document.createElement('li'); li.textContent = user.username; userList.appendChild(li); }); }); socket.on('message', (message) => { const li = document.createElement('li'); li.textContent = `${message.username}: ${message.content}`; ul.appendChild(li); }); input.addEventListener('keyup', (event) => { if (event.keyCode === 13) { const message = input.value.trim(); if (message) { socket.emit('message', message); input.value = ''; } } }); ``` 使用`addEventListener()`方法处理表单的提交事件。当用户输入用户名并提交表单时,将该用户名发送给服务器。在`userList`事件中,根据服务器返回的用户列表更新用户列表的显示。在`message`事件中,根据服务器返回的消息更新消息列表的显示。使用`addEventListener()`方法处理输入框的按键事件。当用户在输入框中按下回车键时,将输入框中的消息发送给服务器。 使用Express框架实现跳转到聊天室页面的方法: 1. 安装Express框架 使用`npm`命令安装Express框架: ``` npm install express ``` 2. 创建Express应用程序对象 ```javascript const express = require('express'); const app = express(); ``` 创建一个`express`应用程序对象`app`。 3. 设置路由 ```javascript app.get('/', (req, res) => { res.sendFile(__dirname + '/index.html'); }); ``` 使用`app.get()`方法设置路由。当用户访问根路径时,将`index.html`文件发送到客户端。 4. 启动服务器 ```javascript app.listen(8000, () => { console.log('listening on *:8000'); }); ``` 使用`app.listen()`方法启动服务器,并监听`8000`端口。 将以上代码保存为`app.js`文件,使用`node`命令运行该文件: ``` node app.js ``` 在浏览器中访问`http://localhost:8000`,即可跳转到聊天室页面。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒来暑往秋收冬藏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值