网站整站开发小例子

news/2024/5/19 13:13:15/文章来源:https://blog.csdn.net/weixin_30594001/article/details/99314806

之前学习的前端知识都只是局限于html+js编写的静态网页,所以前几天试着加上模拟数据把前端和后台串联起来。在这个demo中,我运用了node.js、koa及vue.js。首先我们需要了解node.js,简单的说 Node.js 就是运行在服务端的 JavaScript。node.js安装很简单,只要到官网下载安装包,运行不断点击下一步到完成即可。安装完成后打开命令窗口,输入 node -v ,版本出来即安装成功。koa依赖于node环境,是基于node平台的web开发框架;vue是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。其实就是实现前端页面及数据层的双向绑定。

步骤一:

创建一个demo的根文件夹,里面放置package.json文件

{"name": "webdemo","version": "1.0.0","main": "app.js","dependencies": {    "co-views": "^2.1.0","koa": "^1.2.0","ejs": "^2.4.2","koa-route": "^2.4.2","koa-static-server": "^0.1.8"},"devDependencies": {},"scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"author": "renyuan","license": "ISC"
}

保存好package.json文件后打开命令窗口,由于我的demo文件夹是放到e盘下,所以要先转到e盘再进行安装npm包,安装成功后会在package.json的同级目录下出现node_modules文件夹,node_modules是依赖于package.json中的"dependencies"而创建的。

 步骤二:

创建文件目录结构

mock是数据层,相当于模拟数据库;

service是数据连通接口,把数据方法暴露出来;

static存放静态资源文件,包括css、img及script;

view存放html文件;

app是入口启动文件;

步骤三:

在mock数据层中添加index.json文件用于测试

{"name":"张三"
}

步骤四:

首先写数据连通接口,在service文件夹下新建一个webAppService.js文件

var fs=require('fs');   // fs是Node的官方包,用来进行本地文件的处理
/*把index数据暴露出来*/
exports.get_index_data=function(){var content=fs.readFileSync('./mock/index.json','utf-8');return content;
}

步骤五:

上面那些都设置好后,首先写入口启动程序app.js,

var koa=require('koa');
var controller=require('koa-route');   //提供路由的功能
var app=koa();  //引用koa实例var views=require('co-views');  //co-views 是用来渲染模板的库
var render=views('./view',{    //render是它生成的实例map:{html:'ejs'}
});/*引入中间件,静态资源文件*/
var koa_static=require('koa-static-server');
var service=require('./service/webAppService.js');
app.use(koa_static({rootDir:'./static/',rootPath:'/static/',   //在url地址栏中访问静态资源文件的路径maxage:0  //过期时间,即缓存
}));/*渲染路由地址,直接通过url发起的请求用get*/
app.use(controller.get('/route_test',function *(){this.set('Cache-Control','no-cache');  //返回头,设置不缓存this.body="hello koa";  //this.body是返回体,可以是文本或模板
}));/*渲染网页模板*/
app.use(controller.get('/index',function*(){  // /index指地址栏中的urlthis.set('Cache-Control','no-cache');  this.body=yield render('index',{title:'首页'});  //index指index.html
}));app.use(controller.get('/ajax/index',function *(){this.set('Cache-Control','no-cache');this.body= service.get_index_data();
}));app.listen(3030,'127.0.0.1');   //服务监听127.0.0.1:3030端口

步骤六:

在static文件夹下添加vue.js、zepto.js及index.js,vue.js、zepto.js都是开发框架,直接到官网即可下载,现在写index.js

$.get('/ajax/index',function(d){    //get方法成功后回调返回成功的数据dnew Vue({el:"#app",   //在index.html中必须要有id=“app”,代表这个区域data:{name:d.name}});		
},'json');

步骤七:

在view文件夹下新建index.html

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no"><meta name="format-detection" content="telephone=no"><link rel="stylesheet" type="text/css" href="/static/css/reset.css"><title>掌上药箱</title>
</head>
<body><div id="app"><button>掌上药箱</button>{{ name }}   <!--返回的数据用双大括号--></div>
</body>
<script type="text/javascript" src="./static/script/vue.js"></script>
<script type="text/javascript" src="./static/script/zepto.js"></script>
<script type="text/javascript" src="./static/script/index.js"></script>
</html>

编写完成后要启动服务器,

app.js中有一个服务监听3030端口,启动完成后在浏览器中打开

这样就完成了一个前端加模拟后台的整站demo了。当修改一次app.js或appWebService.js的文件内容时,都要在命令窗口中按ctrl+C关闭服务器再输入node app.js重启服务器才能看到修改效果。

koa的资料:http://www.open-open.com/lib/view/open1434961473669.html

转载于:https://www.cnblogs.com/heyujun-/p/6793900.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_746237.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

让网站Http重定向Https并进行百度Https认证

先为大家带来一点福利。阿里云最近开始发放代金券了&#xff0c;新老用户均可免费获取&#xff0c;1880元代金券&#xff0c;建议大家都领取一份&#xff0c;反正是免费领的&#xff0c;说不定以后需要呢&#xff1f;阿里云代金卷链接https://promotion.aliyun.com/ntms/yunpar…

Jekyll 动态地建立静态博客网站 (Get Started)

提前声明&#xff1a;Jekyll并不简单&#xff0c;必须要正确的看待它。把它和PHP&#xff0c;JSP和Django等放在一起讨论会减少很多失落感。它的学习曲线几乎相当于Wordpress&#xff0c;工作流程和结构也几乎一样。Jekyll与Wordpress最大不同的就是&#xff0c;没有数据库。但…

一步步带你,如何网站架构

何为大型网站 大型网站特性 既然说的是大型网站架构&#xff0c;那么架构的背后自然是解决人因面对大型网站特性而带来的问题。这样可以先给大家说下大型网站的特性&#xff0c;这些特性带来的问题就是人要解决的问题&#xff1a; 高并发、大流量&#xff1a;PV 量巨大&#xf…

什么是域名?什么网站名?什么是URL?

什么是域名&#xff1f;现实中&#xff0c;域名使用的实在太多了&#xff0c;但域名的详细含义你理解么&#xff1f;你知道域名是什么吗&#xff1f;下面&#xff0c;小编将带你详解域名的含义&#xff01; 方法/步骤 域名&#xff0c;相信大家都不默认&#xff0c;也使用过无数…

《大型网站技术架构》读书笔记一:大型网站架构演化

一、大型网站系统特点 &#xff08;1&#xff09;高并发、大流量&#xff1a;PV量巨大 &#xff08;2&#xff09;高可用&#xff1a;7*24小时不间断服务 &#xff08;3&#xff09;海量数据&#xff1a;文件数目分分钟xxTB &#xff08;4&#xff09;用户分布广泛&#xff0c;…

java 大型网站架构_大型网站架构系列:电商网站架构案例(1)

大型网站架构系列&#xff1a;电商网站架构案例(1)大型网站架构是一个系列文档&#xff0c;欢迎大家关注。本次分享主题&#xff1a;电商网站架构案例。从电商网站的需求&#xff0c;到单机架构&#xff0c;逐步演变为常用的&#xff0c;可供参考的分布式架构的原型。除具备功能…

推荐的五款市面上常用的免费CMS建站系统

我做设计也有不少年头了&#xff0c;很多客户或者朋友找我做网站的时候&#xff0c;一般问我的是用什么软件系统给他们做。大部分客户希望用的软件是免费的。所以今天给大家介绍五款我自己用过还不错的&#xff0c;重点是还免费的建站系统。 MetInfo MetInfo这个系统是一个客户…

iis网站服务器端口设置,iis服务器端口设置方法

iis服务器端口设置方法 内容精选换一换获取当前系统健康状态。设置成“GET”。该接口仅支持POST和GET方法&#xff0c;不支持PUT和DELTE等方法。https://ip:port/ccbms/health.jsp其中&#xff0c;ip为CTI平台的CCBMS服务器地址&#xff0c;port为CCBMS服务器的HTTPS端口号。无…

16个时髦的扁平化设计+视觉滚差的网站模板

Persona – HTML5 Parallax Portfolio Theme 充满吸引力的一款网站模板&#xff0c;扁平化设计风格&#xff0c;动感的视差滚动效果。 在线演示 模板下载 Superb – Responsive One-Page Portfolio Superb 是一个基于 HTML5 & CSS3 的响应式单页作品集网站模板。 在线演…

两分钟学会最新的用github+便携版hexo做网站服务器教程+绑定域名

前段时间在阿里云买了一个域名&#xff0c;便想着如何利用这个域名来做自己的个人网站。网上教程特别多&#xff0c;但是大多数都不能用了&#xff0c;因为github在不断的进行更新。所以碰到了很多很多的坑。本人自己也是git小白&#xff0c;git的有些命令也是比较复杂。但是&a…

Jenkins与网站代码上线解决方案【转】

转自 Jenkins与网站代码上线解决方案 - 惨绿少年 https://www.nmtui.com/clsn/lx524.html 1.1 前言 Jenkins是一个用Java编写的开源的持续集成工具。在与Oracle发生争执后&#xff0c;项目从Hudson项目独立。 Jenkins提供了软件开发的持续集成服务。它运行在Servlet容器中&…

[源码和文档分享]基于JAVA EE和豆瓣API实现的电影评论网站

本网站通过对网上最新的热点影片的分门别类&#xff0c;采取简洁、直观的方式让观看者体验到前所未有的舒适感&#xff0c;通过对网站界面布局&#xff0c;信息采集&#xff0c;会员管理&#xff0c;观看者的互动等功能的规划来实现崭新的视听环境。 本网站提供的电影资源和内容…

5 ,emr 入门 : 网址 ,定价 ,学习网站

一 &#xff0c;相关网址 &#xff1a; 1 &#xff0c;emr 文档入口 &#xff1a; https://docs.aws.amazon.com/zh_cn/emr/index.html 2 &#xff0c;emr 开发指南 &#xff1a; https://docs.amazonaws.cn/emr/latest/ManagementGuide/emr-what-is-emr.html 3 &#xff…

1 ,spark 电影点评项目 : 简介,项目历史 ,元数据下载 ,电影数据集网站 ( 非常好的网站 )

1 &#xff0c;可以采用的技术 &#xff1a;选哪种方式都行&#xff0c;我们都用用 RDDDataFrameDataFrame RDDDataSet 2 &#xff0c;需求 &#xff1a; 某电影 &#xff1a; 男性不同年龄观看者人数某电影 &#xff1a; 女性不同年龄观看者人数所有电影 &#xff1a; 评分…

在百度里指定网站搜索:site:developer.mozilla.org 数组(后面关键字“数组”可以换成任意要搜索的关键字)...

打开百度&#xff1a; 在百度搜索框 输入&#xff1a;site:developer.mozilla.org 数组 第一个就是&#xff0c;实现效果如下&#xff1a; 转载于:https://www.cnblogs.com/lszw/p/11067159.html

借助 Lucene.Net 构建站内搜索引擎(上)

前言&#xff1a;最近翻开了之前老杨&#xff08;杨中科&#xff09;的Lucene.Net站内搜索项目的教学视频&#xff0c;于是作为老杨脑残粉的我又跟着复习了一遍&#xff0c;学习途中做了一些笔记也就成了接下来您看到的这篇博文&#xff0c;仅仅是我的个人笔记&#xff0c;大神…

github可以刷星吗_教你一招即使没有服务器,也可以免费拥有自己的专属网站

现在固定公网IP资源稀缺&#xff0c;虽然说IPv6已经开始使用&#xff0c;但是用的人并不多&#xff0c;大部分用的都是IPv4&#xff0c;想要搞一个自己网站&#xff0c;首先就是需要一个固定的公网IP&#xff0c;但是每年却需要缴纳不少的money&#xff0c;而且服务器的成本&am…

oss批量上传工具_使用阿里云OSS与github actions自动部署个人网站

OSS 即 object storage service&#xff0c;对象存储服务。我们可以通过阿里云的 OSS 来托管自己的前端应用&#xff0c;个人网站或者博客在 [使用 netlify 托管你的前端应用]( "使用 netlify 托管你的前端应用") 中我也介绍到另一种专业的网站托管服务平台 netlify。…

Java旅游网站源码+页面

旅游网站[源码前后端页面] 在线预览&#xff1a;旅游网站TourismPro 账号&#xff1a;朱利尔&#xff0c;密码&#xff1a;123 管理员账号&#xff1a;admin&#xff0c;密码&#xff1a;123456 Github开源地址&#xff1a;https://github.com/jwwam/tourismPro下载 or 部署问…

毕业设计之旅游网站

GitHub地址&#xff1a; https://github.com/jwwam/tourism.git 最新的旅游网站地址&#xff1a;旅游网站(SpringBoot版本) 本文是SpringMVC版本&#xff0c;spring boot版本请点击上面的链接下载查看&#xff01;&#xff01;&#xff01; 框架技术&#xff1a; SpringMVC Spr…