window NodeJS学习总结

本文详细介绍了Node.js的安装过程及如何通过命令行查看版本信息,包括修改安装路径后的注意事项,以及如何利用Node.js创建HTTP服务器并进行浏览器请求的基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.安装,默认安装cmd→path,可以看到node.js,但是如果修改了安装路径,在path环境变量中有,但是cmd→path看不到,需要确认??

2.默认安装下,直接cmd敲入node --version,没有反应;切换到其他路径,就可以得到版本信息。也很奇怪??

3.node.js可创建一个http server,方便browser进行http请求。server.js,使用命令行,记住要切换到js所在路径,创建httpserver ,同时打印log日志。然后browser 请求host+port,得到输出。


### 实现 ReactJS 和 NodeJS 微信扫码登录并展示用户信息 为了实现通过 ReactJS 和 NodeJS 完成微信扫码登录并将用户信息展示在首页的功能,以下是详细的说明: #### 技术栈概述 ReactJS 是一种用于构建用户界面的 JavaScript 库[^2],而 Nuxt.js 则是一个基于 Vue.js 的框架[^1]。尽管本项目主要涉及 ReactJS 而非 Vue/Nuxt.js,但两者都属于现代前端技术的一部分。Node.js 提供了一个运行环境来处理服务器端逻辑[^3]。 #### 后端部分 (Node.js + Express) 后端负责接收来自微信的服务请求以及管理用户的会话状态。下面是如何配置 Node.js 来支持这一功能的一个简单例子: ```javascript // server.js const express = require('express'); const axios = require('axios'); // 用于发起 HTTP 请求到微信 API const app = express(); app.use(express.json()); let code; // 处理从微信返回的授权码 app.get('/auth', async (req, res) => { const { query } = req; if (!query.code) return res.status(400).send('No authorization code provided.'); try { const response = await axios({ method: 'GET', url: `https://api.weixin.qq.com/sns/oauth2/access_token?appid=YOUR_APP_ID&secret=YOUR_SECRET_KEY&code=${query.code}&grant_type=authorization_code`, }); console.log(response.data); // 打印获取的数据以便调试 // 将 access token 存储起来或者直接传递给前端 res.send({ accessToken: response.data.access_token }); } catch(error){ console.error("Error fetching WeChat data:", error); res.sendStatus(500); } }); // 设置静态文件夹以托管 HTML/CSS/JavaScript 文件 app.use(express.static(__dirname + '/public')); // 开启监听 app.listen(8080, () => console.log('Server running on port 8080')); ``` 上述代码片段展示了如何创建一个简单的 Express 应用来接受微信回调中的认证码,并交换得到访问令牌[^4]。 #### 前端部分 (ReactJS) 对于前端而言,我们需要引导用户跳转至微信官方提供的 OAuth URL 进行身份验证。一旦完成,他们会被重定向回我们的站点携带必要的参数。 ```jsx import React from 'react'; import './App.css'; class App extends React.Component { constructor(props){ super(props); this.state={ userInfo:null, }; } componentDidMount(){ window.location.href='https://open.weixin.qq.com/connect/oauth2/authorize?appid=YOUR_WECHAT_APPID&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fauth&response_type=code&scope=snsapi_userinfo#wechat_redirect'; } render() { let content=<p>Loading...</p>; if(this.state.userInfo!==null){ content=( <div> <h1>Hello,{this.state.userInfo.nickName}</h1> <img src={this.state.userInfo.avatarUrl} alt="Avatar"/> </div> ); } return ( <main className="container"> {content} </main> ) } } export default App; ``` 此组件会在加载时自动导航到指定链接启动微信登录流程。成功之后更新状态显示个人信息。 #### 数据流总结 整个过程大致如下: 1. 用户点击按钮触发浏览器前往特定地址。 2. 微信确认同意后将控制权交还给我们定义好的路径 `/auth` ,附带临时凭证 `code`. 3. 我们的服务器利用该 `code`,向微信申请正式的 Access Token. 4. 使用这个Token再次调用微信接口拉取详细资料如头像昵称等。 5. 最终这些数据被送达到客户端呈现出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值