vue学习【第三篇】:vue之node.js的简单介绍
什么是node.js
它是可以运行JavaScript的服务平台,可以吧它当做一门后端程序,只是它的开发语言是JavaScript
安装node.js
node.js的特性
- 非阻塞IO模型
- 时间驱动
运用的场景
- 高并发低业务
- 实时场景
- 聊天、电子商务、视频直播等
安装地址
http://nodejs.cn/
判断是否安装成功 node -v
进入编辑状态:node+回车,可以进行一些运算
退出编辑模式:ctrl+d或者ctrl+c两次
npm是一个包管理器,其实是一个命令。使用它来安装或者卸载包
首先进行项目初始化:npm init (快速初始化:npm init -y),会生成文件:package.json
npm install 包的名字 --save-dev
npm install express --save-dev:吧依赖包增加到开发环境下 npm install express
npm install express --save :吧依赖包增加到运行环境下
简单使用
模板化开发:
stu.js
var man="帮助";
module.exports = man; //对外开放接口
console.log(man);
stu2.js
var temps = require("./stu.js"); //引用文件,在js文件中加个./代表是同级目录
console.log(temps);
那么如何执行文件呢? node b.js =====》node 文件名
用node.js简单的做一个登录
login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width">
<title>Title</title>
<script src="jquery.js"></script>
<style>
span{
color: red;
}
</style>
</head>
<body>
<div>
<form action="" method="post">
<p>用户名:<input type="text" placeholder="username" id="username"></p>
<p>密码:<input type="password" placeholder="password" id="password"></p>
<input type="submit" value="提交" onclick="login()">
<span></span>
</form>
</div>
<script>
function login() {
var username = $("#username").val();
var password = $("#password").val();
var url = "http://localhost:8080/login";
console.log(username,password);
$.post(url, {username,password}, function (response) {
console.log(response);
if (response){
$("span").html("登陆成功")
}else{
$("span").html("登录失败")
} }) } </script>
</body>
</html>
server.js
var express = require("express"); //引用包
var query = require("querystring"); var app = express(); //初始化
app.listen("8080",function () { //监听
console.log("服务已经启动,端口是8080")
}); var data2="";
app.post(
'/login',
function (request,response) {
response.header("Access-Control-Allow-Origin", "*");
request.on("data",function (datas) { //接收用户发来的数据,里面的data是不变的,就得叫data
data2 = "";
// console.log(datas) ; //<Buffer 75 73 65 72 6e 61 6d 65 3d 26 70 61 73 73 77 6f 72 64 3d
// >这样打印的结果是Buffer 类型的,所以我们得拼接一下,用querystring这个模块转成字符串
data2+=datas;
});
request.on("end",function () { //接收用户发来的数据之后开始解析
console.log(query.parse(data2)); //{ username: '海燕', password: '123' }
var username = query.parse(data2).username;
var password = query.parse(data2).password;
if (username == "海燕" && password == "123"){
response.send(true)//如果登录成功就把数据返回给前端
}else{
response.send(false)
}
}) }
);
注意:启动的时候 ===>node server.js
vue学习【第三篇】:vue之node.js的简单介绍的更多相关文章
- Vue学习记录第一篇——Vue入门基础
前面的话 Vue中文文档写得很好,界面清爽,内容翔实.但文档毕竟不是教程,文档一上来出现了大量的新概念,对于新手而言,并不友好.个人还是比较喜欢类似于<JS高级程序设计>的风格,从浅入深, ...
- vue之node.js的简单介绍
一.什么是node.js? 它是可以运行JavaScript的服务平台,可以吧它当做一门后端程序,只是它的开发语言是JavaScript 二.安装 1.node.js的特性: - 非阻塞IO模型 - ...
- vue之 node.js 的简单介绍
一.什么是 node.js? 它是可以运行在JavaScript的服务平台 二.安装 1.node.js的特性 - 非阻塞IO模型 - 时间驱动 2.运用场景 - 高并发低业务 - 实时场景 - 聊天 ...
- 3.VUE前端框架学习记录三:Vue组件化编码1
VUE前端框架学习记录三:Vue组件化编码1文字信息没办法描述清楚,主要看编码Demo里面,有附带完整的代码下载地址,有需要的同学到脑图里面自取.脑图地址http://naotu.baidu.com/ ...
- vue学习【二】vue结合axios动态引用echarts
大家好,我是一叶,本篇是vue学习的第二篇,本篇将要讲述vue结合axios动态引用echarts. 在vue中,异步刷新使用的是axios,类似于大家常用的ajax,其实axios已经是vue的第二 ...
- Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例
目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装项目其它需要包 清除冗余文件并重新规划项目目录 配置文件 规划示例路由,并新建相关文件 实现数据访问和业务逻辑相关方法 编写mys ...
- [转]Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例
本文转自:https://www.cnblogs.com/zhongweiv/p/nodejs_koa2_webapp.html 目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装 ...
- Nodejs学习笔记(十五)—Node.js + Koa2 构建网站简单示例
前言 前面一有写到一篇Node.js+Express构建网站简单示例:http://www.cnblogs.com/zhongweiv/p/nodejs_express_webapp.html 这篇还 ...
- Node.js学习笔记(1):Node.js快速开始
Node.js学习笔记(1):Node.js快速开始 Node.js的安装 下载 官方网址:https://nodejs.org/en/ 说明: 在Windows上安装时务必选择全部组件,包括勾选Ad ...
随机推荐
- (3)Python3笔记之变量与运算符
一.变量 1). 命名规则: 1. 变量名不能使用系统关键字或保留关键字 2. 变量区分大小写 3. 变量命名由字母,数字,下划线组成但不能以数字开头 4. 不需要声明变量类型 是 a = 1 ...
- div上下左右居中方法
方法一:在浏览器中只有一个div的情况 { position:fixed; position:fixed; ; ; ; ; margin:auto; } 方法一 方法二:一个父元素div和一个已知宽度 ...
- UVa-1025城市里的间谍 A Spy in the Metro
原题 城市里的间谍 分析 动态规划,dp[i][j]表示你在时刻i,车站j,最少还要等待的时间. 边界条件d[T][n]=0 已经到达,其他d[T][i]=inf不可达. 在一个站点时,有以下三种决策 ...
- <1>Cocos Creator安装和启动
学习之间需要了解JavaScritp基本语法和面向对象,详情参考https://blog.csdn.net/jadeshu/article/category/7476938 1.下载Cocos Cre ...
- python3(socket 实现udp,tcp套接字编程)
#coding=utf-8 #客户端程序TCP 连接 import socket s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.connec ...
- Rpgmakermv(16) YEP MainmenuManager
---------------------------------------------------------------------------------------------------- ...
- 从windows本地IDE启动远程Linux文件进行调试
1) 因为WingIDE调用putty和plink进行ssh连接,需要先设置putty. 点击下载putty,并解压,把解压路径附到操作系统PATH环境变量中,之后重新启动WingIDE,让它重新读 ...
- python 在列表,元组,字典变量前加*号
废话不说,直接上代码(可能很多人以前不知道有这种方法): a=[1,2,3]b=(1,2,3)c={1:"a",2:"b",3:"c"}pr ...
- Subversion客户端接受服务器证书出现“The certificate hostname does not match”的问题
当使用https://形式的URL连接Apache时,Subversion客户端将会受到两个类型的响应: 1.一个服务器证书 2.一个针对客户端证书的请求 在本人的应用场景主要涉及SVN仓库迁移的操作 ...
- pyspider操作千万级库,pyspider在对接量级较大库的策略
pyspider操作千万级库,pyspider在对接量级较大库的策略 如果是需要pyspider正常的流程去执行,那必然是会在on_strat()时任务执行超时,可能只读取出几万条或十几万条数据就会被 ...