用nodejs做网站 - 4

news/2024/5/2 23:14:47/文章来源:https://blog.csdn.net/weixin_33695082/article/details/89373066

开头

惊了,jade改名了,我才知道。

https://github.com/pugjs/pug

This project was formerly known as "Jade." However, it has been revealed to us that "Jade" is a registered trademark, and as a result a rename is needed. After some discussion among the maintainers, "Pug" has been chosen as the new name for this project. The next major version will carry "pug" as the package name.

接着写

启动脚本

开始前我们先写一个小脚本。

"scripts": {"dev": "mysql.server start & nodemon index.js"
},

之后我们只要运行下面的命令,就可以了。开启mysql和启动程序。

npm run dev

模板引擎

模板引擎我们用pug(原jade),因为我只熟悉这个,而且官方推荐的引擎不会差到哪里去。

➜ sudo npm i --save pug

将index.js修改如下。

// 引入模块
var express = require('express');// 创建一个实例
var app = express();// 设置页面文件夹
app.set('views', './views');// 设置引擎
app.set('view engine', 'pug');// 设置根目录返回的内容
app.get('/', function (req, res) {res.render('index');
});// 监听3000端口
var server = app.listen(3000, function () {console.log('服务器正在运行...');
});

将index.html更名为index.pug。修改里面的内容。

doctype html
html(lang='zh')headmeta(charset='UTF-8')title 首页bodyh1 Hi, limichange!

你可以用这两个工具把html快速的转换为pug格式。

  • http://html2jade.aaron-powell.com/

  • http://html2jade.org/

现在我们的网页里的内容都是写死的,接下来我们将用动态的方式把内容传进去。做如下的修改。

// index.js// 设置根目录返回的内容
app.get('/', function (req, res) {res.render('index', {title: '首页',message: 'Hi, limichange!'});
});
// index.pugdoctype html
html(lang='zh')headmeta(charset='UTF-8')title= titlebodyh1= message

ok,这样我们就使用了模板引擎动态的生成了一个页面。

➜ tree -aI 'node_modules|.git'
.
├── .gitignore
├── LICENSE
├── index.js
├── package.json
└── views└── index.pug

配置文件

我简单说下开发的流程。我们一共需要有三个环境,分别为开发环境、测试环境和正式环境。

  • 开发环境(development)就是我们运行在本机调试的时候所运行的环境,只对自己有影响。

  • 测试环境(testing)就是运行在服务器上,但是只有内部人员(开发人员、测试人员等)能看到。

  • 正式环境(production)就是运行在服务器上,已经用于正式的生产了,正式上线了。

这当中有许多的差异。比如说,我们在本地调试的时候,端口是8080端口,而测试环境和正式环境则是80。数据库也是不一样的,每个环境都有自己各自的数据库,这个一定不能混淆。

为了根据不同的环境做动态的切换,我们需要写一个配置文件,将不同的地方定义出来。

# 创建文件
➜ touch config.js

里面的内容如下,包含了http和mysql的设置。

var config;config = {production: {url: 'http://url.com',database: {client: 'mysql',connection: {host     : '127.0.0.1',user     : 'root',password : '',database : 'website',charset  : 'utf8'}},server: {host: '0.0.0.0',port: '80'}},development: {url: 'http://localhost:8090',database: {client: 'mysql',connection: {host     : '127.0.0.1',user     : 'root',password : '',database : 'website',charset  : 'utf8'}},server: {host: '127.0.0.1',port: '3000'}},'testing': {url: 'http://127.0.0.1:2369',database: {client: 'mysql',connection: {host     : '127.0.0.1',user     : 'root',password : '',database : 'ghost_testing',charset  : 'utf8'}},server: {host: '127.0.0.1',port: '8080'}}
};module.exports = config;

现在让我们把这个配置到index.js。

// index.jsvar config = require('./config')[process.env.NODE_ENV || 'development'];var host = config.server.host;
var port = config.server.port;// 监听3000端口
var server = app.listen(port, host, function () {console.log(`http://${host}:${port}`);
});

这样我们就将绑定的地址和端口动态设定了。之后我们将写一写数据库的代码。

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

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

相关文章

Tomcat的网站用户BASIC认证

Tomcat配置: 1.tomcat的web.xml的配置&#xff1a;<security-constraint> <web-resource-collection> <web-resource-name> www.xxx.com </web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <…

iis怎样搭建带有数据库的网站与解析php文件

iis怎样搭建带有数据库的网站 iis怎样解析php文件 iis怎样添加CGI 都可以用下面的两步 0x001: 检查下创建iis这个角色是有没有漏选CGI&#xff08;我第一次装时 一路默认走下来出现了这个情况&#xff09; 不过没关系 我们来添加下就好了 把图中绿框勾选 点下一步即可(其他…

metasploit对网站漏洞进行攻击

针对PHP网站常见的攻击方式中的命令攻击。Command Injection&#xff0c;即命令注入攻击&#xff0c;是指这样一种攻击手段&#xff0c;黑客通过把HTML代码输入一个输入机制(例如缺乏有效验证限制的表格域)来改变网页的动态 生成的内容。使用系统命令是一项危险的操作&#xff…

采集网站特殊文件Meta信息

2019独角兽企业重金招聘Python工程师标准>>> 采集网站特殊文件Meta信息 元&#xff08;Meta&#xff09;信息是描述文件的属性的特殊信息&#xff0c;如文件的所有者、联系方式、机构名、邮件地址等信息。而网站中常常会有共享的文档文件&#xff0c;如PDF、Excel、…

Linux.org网站被篡改,早上时还看得见侮辱图片

网传Linux官网&#xff08;https://linux.org&#xff09;遭黑客攻击&#xff0c;首页被黑客篡改&#xff0c;被加入色情图片和侮辱性语句。 &#xff08;图片来源某qq群&#xff09; Linux.org是Linux操作系统官方提供的&#xff0c;为Linux用户提供交流、更新等服务的论坛。…

Nginx网站用Let’sEncrypt证书开HTTPS

转载于:https://www.cnblogs.com/ZHONGZHENHUA/p/9005909.html

部署LAMP环境搭建一个网站论坛平台

修改主机名 Hostname openstack-001 Hostname Login 修改本地域名解析 Vi /etc/hosts 最后一行添加 192.168.1.56 openstack-001 Clear Ping openstack-001 Ls /opt/ 查看 配置文件 Vi dvd.repo 列出仓库内容 关闭防火墙 Iptables -F Iptables -X Iptables -L查看 修改SELINUX …

java轮播添加图片_给网站首页添加图片轮播的效果

网站的首页有图片轮播的效果&#xff0c;可以很好的起到广告的作用也可以起到推荐优秀内容的作用。可是一般的建站程序&#xff0c;首页的幻灯片效果都很一般不是很好看&#xff0c;有的时候就需要我们自己改一下代码。太复杂的代码自己改不好&#xff0c;我们可以从网上下载一…

【http】一打开网页就跳到别的网站

http://t.7gg.cc:88 1.路由器的原因&#xff0c;你用的应该是斐讯的路由器&#xff0c;是斐讯广告劫持 2.DNS劫持吧&#xff0c;360里面有急救箱 转载自https://www.52pojie.cn/thread-966061-1-1.html MAC2CB21AFF4E25 这个就是问题所在&#xff0c;但那里出来的这行代码不…

织梦cms自适应网站手机版更新

今天魅力网络正在弄一个织梦的cms&#xff0c;是电脑手机自适应的&#xff0c;模板是AB模板王上下的 &#xff0c;发现电脑端的可以正常更新&#xff0c;手机端的首页不自动更新&#xff0c;后台都点了一遍也不行&#xff0c;原因是在后台点更新首页的时候&#xff0c;他只更新…

小技巧:如何突破某些网站只能登陆后才能进行文字拷贝的限制

我写公众号文章时&#xff0c;经常需要从一些网站的文章上查阅一些资料。比如我想把这个网页上的一个标题“SAP Fiori 2.0用户体验设计概念获红点大奖”进行拷贝。 然而当我按了键盘上的拷贝快捷键Ctrl C后&#xff0c;却收到这个提示&#xff0c;告诉我只有登陆后才能够进行复…

【技能】提高网站可用性

为什么80%的码农都做不了架构师&#xff1f;>>> 提高网站可用性&#xff0c;这个话题就太广了&#xff0c;就按照我想到的写几点了&#xff0c;以后想到了再加 1&#xff09;容灾备份 对于有点规模的网站&#xff0c;服务器都不止1台&#xff0c;最简单的就是代码分…

大型网站技术架构(二)架构模式

2019独角兽企业重金招聘Python工程师标准>>> 每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方案的核心。这样&#xff0c;你就能一次又一次地使用该方案而不必做重复工作。 所谓网站架构模式即为了解决大型网站面临的高并发访问、海量数据、高可靠…

大型网站技术架构(二)架构模式

2019独角兽企业重金招聘Python工程师标准>>> 每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方案的核心。这样&#xff0c;你就能一次又一次地使用该方案而不必做重复工作。 所谓网站架构模式即为了解决大型网站面临的高并发访问、海量数据、高可靠…

1688推广工具_永德网站网络营销推广【发布猫】

永德网站网络营销推广【发布猫】永德网站网络营销推广【发布猫】 易商网络致力于帮助众多中小型企业快速启动以互联网为载体的整体营销布局&#xff0c;配合13年的互联网营销团队经验和互联网推广资源&#xff0c;以创新扎实的运营帮助企业将网络平台打造成为影响未来发展的核心…

python制作动态网站_python入门-爬取动态网站

一、缘起 跟林同学一起学了 python 一周左右的时候&#xff0c;她开始做她的毕业设计&#xff0c;去爬一个网站 。 由于我们都还没接触过动态网站&#xff08;这里简单的认为是用 ajax 去加载数据的&#xff09;&#xff0c;所以用爬静态网站的方法肯定行不通啦。 然后我查了一…

apache php mysql架构图_Linux-Apache-MySQL-PHP网站架构方案分析

LAMP>(Linux-Apache-MySQL-PHP)网站架构>是古朝国际盛行的Web>框架>&#xff0c;该框架包露&#xff1a;Linux>操做系统&#xff0c;Apache>支散>办事器>&#xff0c;MySQL>>数据>库&#xff0c;Perl、PHP>梗概Python编程道话>&#xf…

上网登录窗不弹出_你的密码容易被人知道,登录网站时千万要留心这个!

可能很多小伙伴在电视、新闻里面都看过&#xff0c;说XX人在登录网页的时候密码被不法分子窃取&#xff0c;随后安全人士的诸多建议中&#xff0c;其中有一条大意是这样的&#xff1a;要注意网站的网址是https开头&#xff0c;而不是http。如果少了结尾这个“s”&#xff0c;就…

51 个漂亮的电子商务网站设计分享

51个漂亮的电子商务网站设计,让你在频繁的设计中能获得一些灵感。hnyei寒意 Morphica Me & Mommy-to-be Bridge 55 Bestlacewigs Free People UNIQLO Big Brown Box Junstil Little Catwalk Shoon Keedo Bagolitas Shop Curious Itself La Llevo Puesta CellyShop Wunderbl…

iis使用nginx实现网站负载(转)

iis使用nginx实现网站负载&#xff08;转&#xff09; 如果你关注过nginx&#xff0c;必定知道nginx这个软件有什么用的&#xff0c;如果你的网站访问量越来越高&#xff0c;一台服务器已经没有办法承受流量压力&#xff0c;那就增多几台服务器来做负载吧。做网站负载可以买硬件…