包管理工具/网站服务器

npm安装包  全局安装-g
npm installl -g全局安装
npm install 本地安装
npm uninstall -g 包名 卸载包
npm update -g 包名 更新包
全局安装的包位于Node.js环境下的node_modules目录下,一般用于命令
全局安装i5ting用于转换md成html
npm install -g i5ting_toc
i5ting_toc -f outline.md -o 将md转成html
本地安装一般用于开发。
cmd跳转到当前js目录键入 npm init,初始化包
npm install xxx --save 会在package.json后面增加依赖 (生产环境)
--save-dev  (开发环境)
yarn工具基本使用: facebook
npm install -g yarn
初始化包:yarn init
安装包:yarn add xxx
移除包:yarn remove xxx
更新包:yarn upgrade xxx
---------全局安装  yarn global add xxx
设置镜像
yarn config set registry url
动态网站开发:例子
server.js
/*
动态网站开发
*/
const http = require('http');
const fs = require('fs');
const path = require('path');
const querystring = require('querystring');
const scoreData = require('./scores.json');


http.createServer((req,res)=>{
	/*查询成绩的入口*/
	//路由,请求路径+请求方式
	if(req.url.startsWith('/query') && req.method == 'GET'){
		fs.readFile(path.join(__dirname,'view','index.html'),'utf8',(err,content)=>{
			if(err){
				res.writeHead(500,{'Content-Type':'text/plain;charset=utf8'});
				res.end('服务器错误');
			}
			res.end(content);
		});
	}else if (req.url.startsWith('/score')  && req.method == 'POST'){
		//获取成绩的结果
		let pdata = '';
		req.on('data',(chunk)=>{
			pdata += chunk;
		});
		req.on('end',()=>{
			let obj = querystring.parse(pdata);
			let result = scoreData[obj.code];
			fs.readFile(path.join(__dirname,'result.html'),'utf8',(err,content)=>{
				if(err){
				res.writeHead(500,{'Content-Type':'text/plain;charset=utf8'});
				res.end('服务器错误');
				}
				//返回内容之前要进行数据渲染
				content = content.replace('$$chinese$$',result.chinese);	
				content = content.replace('$$math$$',result.math);	
				content = content.replace('$$english$$',result.english);

				res.end(content);
			});

		});
	}

}).listen(3000,()=>{
	console.log('running.....');
});;
index.html
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>查询成绩</title>
</head>
<body>
	<form action="http://localhost:3000/score" method="POST">
		请输入考号:<input type="text" name="code">
		<input type="submit" value="查询">
	</form>
</body>
</html>
scores.json
{
	"no123":{
		"chinese":100,
		"math":140,
		"english":289
	},
	"no124":{
		"chinese":110,
		"math":140,
		"english":289
	},
	"no125":{
		"chinese":120,
		"math":140,
		"english":289
	},
	"no126":{
		"chinese":130,
		"math":140,
		"english":289
	}
}
result.html
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>成绩结果</title>
</head>
<body>
	<div>
		<ul>
			<li>语文:$$chinese$$</li>
			<li>数学:$$math$$</li>
			<li>外语:$$english$$</li>
		</ul>
	</div>
</body>
</html>

发表评论

邮箱地址不会被公开。 必填项已用*标注