最近呢手头的活也不是特别多,所以就静下心来看了看如何使用nodejs搭建一个简易的服务器,话不多说直接进入正题
1.首先你的自己搭建node环境,怎么搭建我就不多说的,百度教程一大堆
2.搭建好了之后新建一个文件夹,在新建一个index.js文件,内容如下:
// 引入需要的包,注意在node中使用的是requireJs,所以不要使用import这种语法,不会被识别
const http=require('http');
const url=require('url');
// 创建服务器
http.createServer(function(res.req){
var pathname=url.parse(req.url).pathname;// 获取请求的路径
res.writeHead(200,{"Content-Type":'text/plain'}); // 设置响应头
res.write('Hello Node'); // 响应内容
res.end();
}).listen(8000);// 端口
在文件夹上shift+右键→打开命令窗口→输入命令node index.js,打开浏览器访问8000端口,就会看到对应的响应内容
可以根据pathname的不同响应不同的内容或进行不同的操作
此时你的node服务就已经启动了
3.如何连接数据库
一个完整后台服务必须能够访问并且操作数据库,接下来就是如何利用node访问数据库:
首先你的给文件夹安装npm依赖,在你当前的文件夹下打开命令窗口执行:npm init,然后一路回车就行了
然后安装mysql的包:npm install mysql --save
然后将原来的代码改为:
// 引入需要的包
const http=require('http');
const url=require('url');
const mysql=require('mysql');
// 配置mysql数据库连接项
const connection=mysql.createConnection({
host:'localhost', // 主机地址,默认localhost port默认3306
user:'root', // mysql数据库用户名
password:'123456', // 密码
database:'testdb', // 数据库名称
})
// 连接数据库
connection.connect();
http.createServer(function(res,req){
var pathname=url.parse(res.url).pathname;
res.writeHead(200,{"Content-Type":'text/plain'});
// 执行数据库查询操作
connection.query('SELECT * FROM user',function(err,result){
if(err){
console.log(err);
return;
}
console.log(result);
})
res.write('Hello World');
res.end();
}).listen(8000);
console.log('Server has started');
完成以上代码后再次在命令行执行node index.js,访问8000端口,此时命令行会打印数据库的数据,此时就代表已经成功连接数据库了
记录一下最近在公司项目开发中遇到的问题:
表单中的defaultValue和initialValue一样只接收第一次的赋值,之后的值都不会接收,假如想改变的话:
对于在表单中的组件可以使用this.props.form.setFieldValue来改变对应的值
对于单独的组件可以使用value={this.state.value}来进行双向绑定