LogoLogo
  • README
  • 前端编程
    • 01 Node JS
    • 02-ES6详解
    • 03-NPM详解
    • 04-Babel详解
    • 05-前端模块化开发
    • 06-WebPack详解
    • 07-Vue详解
    • 08-Git详解
    • 09-微信小程序
  • 人工智能
    • 机器学习
      • 二次分配问题
      • 非负矩阵
      • 概率潜在语义分析
      • 概率图模型
      • 集成学习
      • 降维
      • 距离度量
      • 决策树
      • 逻辑回归
      • 马尔可夫决策过程
      • 马尔可夫链蒙特卡洛法
      • 朴素贝叶斯法
      • 谱聚类
      • 奇异值分解
      • 潜在狄利克雷分配
      • 潜在语义分析
      • 强化学习
      • 社区算法
      • 时间序列模型
      • 特征工程
      • 条件随机场
      • 图论基础
      • 线性分类
      • 线性回归
      • 信息论中的熵
      • 隐马尔科夫模型
      • 支持向量机
      • 主成分分析
      • EM算法
      • Hermite 矩阵的特征值不等式
      • k-means聚类
      • k近邻法
      • PageRank算法
    • 深度学习
      • Pytorch篇
        • 01-线性模型
        • 02-梯度下降法
        • 03-反向传播
        • 04-pytorch入门
        • 05-用pytorch实现线性回归
        • 06-logistic回归
        • 07-处理多维特征的输入
        • 08-加载数据集
        • 09-多分类问题
        • 10-卷积神经网络
        • 11-循环神经网络
    • 图神经网络
      • 图神经网络笔记01
        • 01-图(Graphs)的结构
        • 02-网络的性质和随机图模型
        • 03-网络工具
        • 04-网络中的主题和结构角色
        • 05-网络中的社区结构
      • 图神经网络笔记02
        • 01-深度学习引言
        • 02-神经网络基础
        • 03-卷积神经网络
        • 04-图信号处理与图卷积神经网络
        • 05-GNN的变体与框架-
        • [06-Google PPRGo 两分钟分类千万节点的最快GNN](人工智能/图神经网络/图神经网络笔记02/06-Google%20PPRGo 两分钟分类千万节点的最快GNN.md)
        • 07-序列模型
        • 08-变分自编码器
        • 09-对抗生成网络
  • 日常记录
    • 健身日记
    • 面经记录
    • 自动生成Summary文件
  • 实战项目
    • 谷粒商城
      • 00-项目概述
      • 01-分布式基础-全栈开发篇
      • 02-分布式高级-微服务架构篇
      • 03-高可用集群-架构师提升篇
  • 数据库
    • MySQL笔记
      • 01-MySQL基础篇
      • 02-MySQL架构篇
      • 03-MySQL索引及调优篇
      • 04-MySQL事务篇
      • 05-MySQL日志与备份篇
    • Redis笔记
      • 01-Redis基础篇
      • 02-Redis高级篇
    • 02-Redis篇
  • 算法笔记
    • 01-算法基础篇
    • 02-算法刷题篇
  • 职能扩展
    • 产品运营篇
  • Go编程
    • 01-Go基础
      • 01-Go基础篇
  • Java编程
    • 01-Java基础
      • 01-Java基础篇
      • 02-多线程篇
      • 03-注射与反解篇
      • 04-JUC并发编程篇
      • 05-JUC并发编程与源码分析
      • 06-JVM原理篇
      • 07-Netty原理篇
      • 08-设计模式篇
    • 02 Java Web
      • 01-Mybatis篇
      • 01-Mybatis篇(新版)
      • 02-Spring篇
      • 02-Spring篇(新版)
      • 03-SpringMVC篇
      • 04-MybatisPlus篇
    • 03-Java微服务
      • 01-SpringBoot篇
      • 01-SpringBoot篇(新版)
      • 02-SpringSecurity篇
      • 03-Shiro篇
      • 04-Swagger篇
      • 05-Zookeeper篇
      • 06-Dubbo篇
      • 07-SpringCloud篇
      • 08-SpringAlibaba篇
      • 09-SpringCloud篇(新版)
    • 04-Java中间件
      • 数据库篇
        • 01-分库分表概述
        • 02-MyCat篇
        • 03-MyCat2篇
        • 04-Sharding-jdbc篇
        • 05-ElasticSearch篇
      • 消息中间件篇
        • 01-MQ概述
        • 02-RabbitMQ篇
        • 03-Kafka篇
        • 04-RocketMQ篇
        • 05-Pulsar篇
    • 05-扩展篇
      • Dubbo篇
      • SpringBoot篇
      • SpringCloud篇
    • 06-第三方技术
      • 01-CDN技术篇
      • 02-POI技术篇
      • 03-第三方支付技术篇
      • 04-第三方登录技术篇
      • 05-第三方短信接入篇
      • 06-视频点播技术篇
      • 07-视频直播技术篇
    • 07-云原生
      • 01-Docker篇
      • 02-Kubernetes篇
      • 03-Kubesphere篇
  • Linux运维
    • 01-Linux篇
    • 02-Nginx篇
  • Python编程
    • 01-Python基础
      • 01.配置环境
      • 02.流程控制
      • 03.数值
      • 04.操作符
      • 05.列表
      • 06.元祖
      • 07.集合
      • 08.字典
      • 09.复制
      • 10.字符串
      • 11.函数
      • 12.常见内置函数
      • 13.变量
      • 14.异常和语法错误
      • 15.时间和日期
      • 16.正则表达式
    • 02 Python Web
      • flask篇
        • 01.前言
        • 02.路由
        • 03.模板
        • 04.视图进阶
        • 05.flask-sqlalchemy
        • 06.表单WTForms
        • 07.session与cookie
        • 08.上下文
        • 09.钩子函数
        • 10.flask 信号
        • 11.RESTFUL
        • 13.flask-mail
        • 14.flask+celery
        • 15.部署
        • 16.flask-login
        • 17.flask-cache
        • 18.flask-babel
        • 19.flask-dashed
        • 20.flask-pjax
        • 21.flask上传文件到第三方
        • 22.flask-restless
        • 23.flask-redis
        • 24.flask-flash
        • 25.消息通知
        • 26.分页
    • 03-Python数据分析
      • Matplotlib
      • Numpy
      • Pandas
      • Seaborn
    • 04-Python爬虫
      • 1.准备工作
      • 2.请求模块的使用
      • 3.解析模块的使用
      • 4.数据存储
      • 5.识别验证码
      • 6.爬取APP
      • 7.爬虫框架
      • 8.分布式爬虫
由 GitBook 提供支持
在本页
  • 概述
  • VScode
  • NodeJS安装
  • 入门
  • 教程
  • 目标
  • hello world
  • 实现请求响应
  • 操作MySQL数据库

这有帮助吗?

在GitHub上编辑
  1. 前端编程

01 Node JS

上一页前端编程下一页02-ES6详解

最后更新于3年前

这有帮助吗?

概述

​ 是创建Web页面或app等前端界面呈现给用户的过程,通过,及以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互 [1] 。它从演变而来,名称上有很明显的时代特征。在的演化进程中,网页制作是时代的产物,==早期网站主要内容都是静态,以图片和文字为主==,用户使用网站的行为也以浏览为主。随着的发展和、的应用,现代网页更加美观,交互效果显著,功能更加强大。

​ Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。 发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。

​ 简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。底层架构是:javascript. 文件后缀:.js

​ Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

img

VScode

  • 安装

下载地址:https://code.visualstudio.com/

  • 配置中文插件

  • 安装插件

    • ESLint

    • ESLint

    • Vetur

    • VueHelper

    • Node.js Modules Intellisense

  • 设置字体大小

左边栏Manage -> settings -> 搜索 font -> Font size

  • 开启完整的Emmet语法支持

设置中搜索 Emmet:启用如下选项,必要时重启vs

  • 视图

查看—> 外观—> 向左移动侧边栏

NodeJS安装

下载对应你系统的Node.js版本: 下载地址:https://nodejs.org/zh-cn/download 帮助文档:https://nodejs.org/zh-cn/docs 关于Nodejs:https://nodejs.org/zh-cn/about

node -v

入门

教程

学习地址:http://nodejs.cn/learn

目标

控制台输出字符串、使用函数、进行模块化编程

hello world

1、创建文件夹 NodeJS

2、创建 helloworld.js

// 类似于 Java中的 System.out.println("hello world")
console.log("hello world")
  1. 运行

或者在命令控制平台中输入node helloworld.js

==Node.js是脱离浏览器环境运行的JavaScript程序,基于V8 引擎==

实现请求响应

创建 httpserver.js

// 导入模块 require 类似于 import java.sql
const http = require("http")

// 1. 创建一个httpserver服务
http.createServer(function(request, response){
    // 浏览器怎么认识 hello server
    /* 
        这句话的含义是:告诉浏览器将以text-html的方式去解析hello server这段数据
    */
    response.writeHead(200,{"Content-type":'text/html'}); 

    // 给浏览器输出内容
    response.end("<h1>hello server</strong>");

}).listen(8888) // 监听端口
// 2. 监听一个端口,例如 8888
console.log("启动的服务是:http://localhost:8888 以启动成功")

// 3. 启动运行服务 node httpserver.js
// 4. 在浏览器访问 http://localhost:8888

运行服务器程序

node httpserver.js

服务器启动成功后,在浏览器中输入:http://localhost:8888/ 查看webserver成功运行,并输出html页面

停止服务:ctrl + c

操作MySQL数据库

参考:https://www.npmjs.com/package/mysql

  • 安装mysql依赖

npm install mysql
  • 创建测试数据库testdb

create database testdb charset=utf8;
use testdb;
create table user(
	id int(10) not null,
	name varchar(20) not null,
	PRIMARY KEY(id)
)ENGINE=INNODB DEFAULT charset=utf8;


insert into user(id,name) values(1,"小明");
insert into user(id,name) values(2,"小红");
  • 创建db.js

  • 定义db.js进行操作

// 1. 导入mysql依赖包, mysql属于第三方的模块类似于 java.sql

/**
 *  注意const不可变,var可变,都属于全局变量
 */
var mysql = require("mysql")
const { createConnection } = require("net")

// 2. 创建一个mysql的Connection对象
// 3. 配置数据库相关信息

var connection = mysql.createConnection({
    host:"localhost",
    port:"3306",
    user:"root",
    password:"123456",
    database:"testdb"
})

// 4. 连接数据库
connection.connect()

// 5. 执行数据库的增删改查(curd)
connection.query("select * from user",function(error,results,fields){
    // 如果查询出错,直接抛出
    if(error) throw error;
    // 查询成功
    console.log("results = ",results)
})

// 6. 关闭数据库链接
connection.end()

运行后,出现没有调试适配器,无法发送“variables”问题,解决如下:

  1. 需要看到他具体的值,在打印的地方加上断点即可。

  2. 如果是node.js 可以 创建一个httpserver并 监听一个端口

运行

node db.js

如果想开发更复杂的基于Node.js的应用程序后台,需要进一步学习Node.js的Web开发相关框架 express,art-template、koa等

image-20210917181410834
image-20210917182023416
image-20210917182451480
image-20210917182818125
image-20210917195620127
image-20210917195717925
image-20210917201913834
image-20210917205210329
前端开发
HTML
CSS
JavaScript
网页制作
互联网
Web1.0
互联网技术
HTML5
CSS3