Nodejs+Express学习一(搭建最简单网站)

news/2024/4/27 20:57:19/文章来源:https://blog.csdn.net/weixin_33750452/article/details/89424689

一、Nodejs与Express
这里我只做简单介绍,以实战为目的,不想说那么多废话。
Nodejs:运行在服务器端的javascript(如果你是新手,那么只需要知道这个就可以)。
Express:基于Node平台的web开发框架(你可以理解为前端的“jquery”)

二、创建项目
对于nodejs的安装这里直接跳过。
那么我们从创建项目开始。
本人用的IDEWebStorm,因为上面有类似cmd的控制台,比较方便。
下面不多说,直接开始:

1.找个地方新建一个文件夹作为项目根目录,因为我是学习用的,所以项目名叫study1
2.用WebStorm打开该项目,在控制台中安装初始化项目:npm init,控制台会有几个步骤依次完成(我是直接全部回车),需要说一下的是步骤里有个main选项,默认为index.js,该配置是项目入口文件,如果不想用index命名,可以根据喜好更改。
3.安装express,运行命令:npm install --save express,--save会更新package.json文件,将要安装的东西更新在package.json中。
4.安装模板引擎,我个人不太喜欢jade,虽然它可以让我少些很多代码,但我是个前端工程师,原生的html对我来说更亲切。所以这里选择使用express-handlebars来作为模板引擎,运行命令:npm install --save express-handlebars来安装该模板引擎。
以上基本需要的东西就安装完成了,然后请根据下面的图来创建目前还没有的文件夹和文件:
图片描述

三、编写入口文件index.js


//引用express
var express = require('express');//引用express-handlebars模板引擎
var hbs = require('express-handlebars').create({ defaultLayout: 'main', //默认布局模板为main.hbsextname: '.hbs'         //设置文件后缀名为.hbs});   
var app = express();app.set('port',process.env.PORT || 3000);   //设置端口//设置模板引擎为express-handlebars
app.engine('hbs',hbs.engine);
app.set('view engine','hbs');//使用static中间件 制定public目录为静态资源目录,其中资源不会经过任何处理
app.use(express.static(__dirname + '/public'));//home页路由
app.get('/', function (req, res) {res.render('home',{title:'Home Page'    //传入页面的title});
});//about页路由
app.get('/about', function (req, res) {res.render('about',{title:'About Page'    //传入页面的title});
});app.listen(app.get('port'), function () {console.log( '服务器启动完成,端口为: '+app.get('port') );
});

现在我们写好了index.js文件,大家可能对中间件不熟悉,暂时先不用管它。现在我们来编写main.hbs里的内容:

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><title>Node Study</title>
</head>
<body><header><h1>欢迎来到Nodejs</h1></header>{{{body}}}
</body>
</html>

main.hbs作为我们的主模板,我们编写的其他页面通过express-handlebars渲染,用{{{body}}}嵌入到main.hbs模板中形成完整的页面。
然后我们完成views下面的home.hbs和about.hbs(为了简单,将他们的内容编码一致):

<h1>{{ title }}</h1>

这里的title是从服务器端传过来的:
图片描述

好,现在我们最简单的网站都完成了,至于数据库这里就不说了,我会在学习过程中跟进有关文章,篇文章的目的就是搭建最简单的网站。
那么我们在跑一下,在控制台中运行命令:node index.js,会看到打印出来的服务器启动完成,端口为: 3000。这时,我们在浏览器地址栏中输入:localhost:3000localhost:3000/about,就会显示出对应的页面了:
图片描述
图片描述

好,最简单的网站就完成了,后面本来还会继续学习nodejs,所以也会继续跟进相关文章。

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

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

相关文章

朝鲜官媒等主要网站一度瘫痪 或遭到网络攻击

据韩联社2月16日消息&#xff0c;一名朝鲜消息灵通人士16日表示&#xff0c;朝鲜劳动党机关报《劳动新闻》、朝中社官网当天一度无法正常浏览&#xff0c;或因受网络攻击所致。 消息称&#xff0c;16日早晨至下午5时&#xff0c;《劳动新闻》和朝中社官网网页无法打开&#xff…

seo提交工具_百度优化必备的5种SEO排名工具

对于百度SEO&#xff0c;要查询&#xff0c;获取和分析大量数据&#xff0c;包括关键词扩展和排名&#xff0c;页面索引&#xff0c;网站访问量等等。可以帮助我们获取和跟踪此数据。而且工具越准确&#xff0c;洞察力和信息就越有效&#xff0c;这将帮助您更好地为您的业务制定…

域名+建站套餐价58元起 云市场年末超值商品盘点 |本周聚划算

推荐1&#xff1a;袋鼠云日志 新版发布免费公测&#xff0c;比ELK更好用 企业级高性能日志集中管理、搜索、分析和监控产品&#xff0c;相比于Splunk和ELK&#xff0c;云日志有着简单高性能、秒级实时追踪、可视化大屏幕等诸多优点。 特色优势&#xff1a; 向导式场景化配置&am…

《社交网站界面设计(原书第2版)》——2.16 反模式的“货物崇拜”

2.16 反模式的“货物崇拜” 旧时的“货物崇拜”是指人们被更先进的技术&#xff08;该典故中的先进技术就是二战时期的飞机&#xff09;震住了&#xff0c;于是开始模仿他们看到的东西&#xff08;木无线电塔&#xff0c;用火炬点亮“铺好”的飞机跑道&#xff0c;仿造制服&am…

《淘宝网开店 SEO 推广 营销 爆款 实战200招》——1.4 开店前要做好调查分析,预测市场前景...

本节书摘来自异步社区《淘宝网开店 SEO 推广 营销 爆款 实战200招》一书中的第1章&#xff0c;第1.4节&#xff0c;作者&#xff1a;葛存山著&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看 1.4 开店前要做好调查分析&#xff0c;预测市场前景 淘宝网开店 S…

seo从入门到精通_SEO网站优化的步骤有哪些?

SEO网站优化的步骤有哪些&#xff1f;SEO一直一来是是一个不断实践和总结经验的过程&#xff0c;李木SEO就喜欢把每一次的优化经验进行信息反馈和总结&#xff0c;经常有新手咨询数科软文平台&#xff0c;网站设计优化该如何做&#xff1f;其实seo技术本身并不太难&#xff0c;…

手机网站按住放大图片_放大镜妙用,你会做吗?

在PPT中如果要对局部的文字或图片进行放大&#xff0c;我们可以使用放大镜&#xff0c;让效果非常惊艳。今天小编教大家如何在PPT中使用放大镜。首先我们来看一个案例&#xff1a;这是锤子手机的发布会幻灯片&#xff0c;通过放大镜我们看到手机的更多细节和做工。操作步骤&…

《网站设计 开发 维护 推广 从入门到精通》—— 1.1 网页设计的相关术语

本节书摘来异步社区《网站设计 开发 维护 推广 从入门到精通》一书中的第1章&#xff0c;第1.1节&#xff0c;作者&#xff1a;何新起 ,娄彦杰&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.1 网页设计的相关术语 在具体学习网页设计与制作前&#xff…

linux中设备驱动程序模型,Linux设备模型1 - Linux设备驱动程序学习笔记_Linux编程_Linux公社-Linux系统门户网站...

extern int __must_check kobject_init_and_add(struct kobject *kobj,struct kobj_type *ktype,struct kobject *parent,const char *fmt, ...);这样的函数,所以请根据你使用的内核版本自己研究了.kset 在一个标准的内核链表中保存了它的子节点&#xff0c;在大部分情况下, 被…

java项目交友网如何实现,基于jsp的交友网站-JavaEE实现交友网站 - java项目源码

基于jspservletpojomysql实现一个javaee/javaweb的交友网站, 该项目可用各类java课程设计大作业中, 交友网站的系统架构分为前后台两部分, 最终实现在线上进行交友网站各项功能,实现了诸如用户管理, 登录注册, 权限管理等功能, 并实现对各类交友网站相关的实体进行管理。该交友…

看板娘全是php的怎么办,【教程】给网站添加互动二次元看板娘老婆

【本教程来自网络&#xff0c;已亲测可用&#xff0c;以下教程为详解&#xff0c;如有问题请指出】【关于二次元看板娘】这是在PC网页上的效果及位置这是在手机端的效果(可能没有对话框&#xff0c;因为没有电脑端的鼠标指示)教程开始首先你要有自己的服务器和网站 (废话)&…

win2008支持mysql asp.net_asp.net网站部署在云服务器windows server 2008上

搭建一个网站需要以下4个准备&#xff1a;1.域名解析2.(云)服务器3.数据库4.网站代码其中1可以可以去DNSPOD申请&#xff0c;同时需要进行备案&#xff0c;在上面就都可以完成。2用的是阿里云服务器windows server 2008 R2,去阿里云购买一个&#xff0c;一般400多一个月就好。3…

推荐一些学习软件编程的网站

给大家推荐一些学习软件编程的网站&#xff0c;综合了老师和同学&#xff0c;包括自己收藏的&#xff0c;有用的网站。学习软件不是一件很容易的事&#xff0c;作为一名程序员&#xff0c;我们每天除了睡觉&#xff0c;吃饭&#xff0c;就是打代码。一直以来&#xff0c;我们的…

从运维角度看中大型网站架构的演变之路

前言网上有很多文章类似于我今天要分享的课程&#xff0c;有架构师写的&#xff0c;有运维写的&#xff0c;还有开发些的&#xff0c;偏重点都不同&#xff0c;今天我以咱们运维角度全面讲解。一个成熟的网站架构并不是一开始设计就具备高可用、高伸缩、高性能等特性的&#xf…

杨泽业:给你的网站添加百度自动推送页面代码

最近我的 博客添加了360的自动推送页面代码&#xff0c;今天浏览百度的官方文件里面&#xff0c;也发现了&#xff0c;其实百度也是可以把你自己的网站内容自动推送到百度搜索引擎里面&#xff0c;以方便更快的收录。看完了百度官方的介绍&#xff0c;也是和360推送一样的&…

SEO独家揭秘:政府高权重锚文本虚拟外链技术!

最近不少人都在问怎么做外链&#xff0c;其实外链严格来说有两种&#xff0c;一种用于投票&#xff0c;一种用于单纯的吸引蜘蛛抓取。虽然外链的作用的本质还有一种&#xff0c;就是引流&#xff0c;但是大多数情况下不现实&#xff0c;除非是一些导航网站才有可能做到这些真正…

如何用 Python 爬取需要登录的网站?

2019独角兽企业重金招聘Python工程师标准>>> 最近我必须执行一项从一个需要登录的网站上爬取一些网页的操作。它没有我想象中那么简单&#xff0c;因此我决定为它写一个辅助教程。 在本教程中&#xff0c;我们将从我们的bitbucket账户中爬取一个项目列表。 教程中的…

[SakuraiYo][软工作业(4)]用户体验分析:以 “师路南通网站” 为例

一&#xff0e;页面初览&#xff08;“师路南通”、“UMU学习平台”、“学生安全教育平台”&#xff09; 1.“师路南通”页面初览。 *初览亮点&#xff1a;进入网站时的欢迎页面&#xff0c;不仅切合网站主题&#xff0c;且会变幻显示各类相关知识内容&#xff0c;会一定程度上…

简单动态网站搭建

如何在windows服务器上配置wordPress和discuz 网站建设中的概念讲解 网站建设的基础操作 网站程序的基础使用 网站程序的优化 简单动态网站搭建 软件部署域名和主机的购买 域名解析 环境部署 安装程序 软件的使用和优化 wordpress的基础设置和使用 discuz的基础设置…