Node.js安装配置

一、简介

Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。

 Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

二、安装配置

Node.js安装包及源码下载地址为:https://nodejs.org/en/download/

1、windows下安装Node.js

Windows上安装有两种方式,一种是安装版,一种是解压版。


安装完成后,检测PATH环境变量是否配置了Node.js,点击开始=》运行=》输入"cmd" => 输入命令"path",输出如下结果:


检查node.js版本:


1、Centos下安装Node.js

1、下载源码,你需要在https://nodejs.org/en/download/下载最新的Nodejs版本,本文以v6.10.3为例:

注:此处下载的是源码,需要编译,笔者亲身经历,编译安装花费时间很长,泪奔!!!(不太推荐),Nodejs 官网提供了编译好的Linux二进制包,你也可以下载下来直接应用。配置环境变量类似jdk。

cd /soft/
wget  https://nodejs.org/dist/v6.10.3/node-v6.10.3.tar.gz

2、解压源码

tar  zxvf  /soft/node-v6.10.3.tar.gz

3、编译安装

cd node-v6.10.3
./configure --prefix=/usr/local/node/6.10.3
make
make install

4、配置NODE_HOME,进入profile编辑环境变量

vim /etc/profile

#set for nodejs
export NODE_HOME=/usr/local/node/6.10.3
export PATH=$NODE_HOME/bin:$PATH

:wq保存并退出,编译/etc/profile 使配置生效

source /etc/profile

验证是否安装配置成功

node -v

查看nodejs的安装目录

which node
总结: Linux安装,建议直接下载二进制文件

如:wget https://nodejs.org/dist/v6.10.3/node-v6.10.3-linux-x64.tar.xz

解压tar.xz文件:先xz -d xxx.tar.xzxxx.tar.xz解压成xxx.tar然后,再用tar xvf xxx.tar来解包。


NodeJS、NPM安装配置步骤(windows版本):

http://jingyan.baidu.com/article/91f5db1b2bb6941c7f05e33c.html



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,在后端使用Express框架创建API接口,包括登录接口和注册接口,另外还需要创建获取留言列表和添加留言的接口。 在前端页面中,用户需要先登录或注册才能使用留言板功能,可以在登录/注册成功后使用cookie或localStorage等方式将用户信息保存起来,然后发送带有用户信息的Ajax请求到后端获取留言列表或添加留言。 下面是一个示例代码,仅供参考: 后端代码: ``` const express = require('express'); const bodyParser = require('body-parser'); const cookieParser = require('cookie-parser'); const app = express(); app.use(bodyParser.urlencoded({extended: false})); app.use(bodyParser.json()); app.use(cookieParser()); // 假设已经定义好用户列表users和留言列表messages // 登录接口 app.post('/login', (req, res) => { const {username, password} = req.body; const user = users.find(u => u.username === username && u.password === password); if (user) { res.cookie('user', JSON.stringify(user)); // 将用户信息保存到cookie中 res.json({code: 0, message: '登录成功'}); } else { res.json({code: 1, message: '用户名或密码错误'}); } }); // 注册接口 app.post('/register', (req, res) => { const {username, password} = req.body; const user = users.find(u => u.username === username); if (user) { res.json({code: 1, message: '用户名已存在'}); } else { users.push({username, password}); res.json({code: 0, message: '注册成功'}); } }); // 获取留言列表接口(需要登录才能访问) app.get('/messages', (req, res) => { const user = JSON.parse(req.cookies.user || '{}'); if (user.username) { res.json({code: 0, messages}); } else { res.json({code: 1, message: '请先登录'}); } }); // 添加留言接口(需要登录才能访问) app.post('/addMessage', (req, res) => { const user = JSON.parse(req.cookies.user || '{}'); if (user.username) { const {content} = req.body; messages.push({id: messages.length + 1, content, username: user.username}); res.json({code: 0, message: '添加成功'}); } else { res.json({code: 1, message: '请先登录'}); } }); app.listen(3000, () => console.log('Server is running...')); ``` 前端代码: ``` <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>留言板</title> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <style> .message-item { margin-bottom: 10px; padding: 10px; border: 1px solid #ddd; border-radius: 5px; } </style> </head> <body> <div class="register"> <h3>注册</h3> <form id="registerForm"> <input type="text" name="username" placeholder="用户名"> <input type="password" name="password" placeholder="密码"> <button type="submit">注册</button> </form> </div> <div class="login" style="display:none"> <h3>登录</h3> <form id="loginForm"> <input type="text" name="username" placeholder="用户名"> <input type="password" name="password" placeholder="密码"> <button type="submit">登录</button> </form> </div> <div class="messages" style="display:none"> <h3>留言板</h3> <form id="addMessageForm"> <textarea name="content" placeholder="请输入留言内容"></textarea> <button type="submit">提交留言</button> </form> <div class="message-list"></div> </div> <script> function showMessage(message) { $('.message-list').prepend(`<div class="message-item">${message.username}: ${message.content}</div>`); } $('#registerForm').submit(function(event) { event.preventDefault(); const username = $('input[name=username]', this).val(); const password = $('input[name=password]', this).val(); $.post('/register', {username, password}, function(res) { alert(res.message); }); }); $('#loginForm').submit(function(event) { event.preventDefault(); const username = $('input[name=username]', this).val(); const password = $('input[name=password]', this).val(); $.post('/login', {username, password}, function(res) { alert(res.message); if (res.code === 0) { $('.register, .login').hide(); $('.messages').show(); // 登录成功后获取留言列表 $.get('/messages', function(res) { if (res.code === 0) { res.messages.forEach(showMessage); } else { alert(res.message); } }); } }); }); $('#addMessageForm').submit(function(event) { event.preventDefault(); const content = $('textarea[name=content]', this).val(); $.post('/addMessage', {content}, function(res) { alert(res.message); if (res.code === 0) { showMessage({username: JSON.parse(document.cookie).user.username, content}); } }); }); </script> </body> </html> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值