使用Express开发个人网站(一)
Express,基于Node.js平台,快速、开放、极简的 web 开发框架。
Node的出现,让js有了运行在服务器端的可能,基于此的Express,可以快速,简单的搭建起一个服务器与个人网站。
安装
首先安装nodejs,具体安装过程这里不再累述,进入到创建的应用目录,使用npm init命令创建一个package.json 文件,这个命令会要求你输入一些信息,比如像个人信息,应用的版本号等,可以直接跳过使用默认,只有一个entry point除外,这个参数规定了当前应用的入口文件,你可以使用app.js或者index.js一些你自己规定的入口文件。
接下来使用npm install express命令安装express,如果需要将express加入到依赖表中就使用npm install express --save命令。
看一下应用的目录:

client是主要的页面文件,public是静态文件,app.js入口文件
Hello world
在入口文件app.js中加入如下代码,就能启动一个简单的服务器
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
var server = app.listen(5277, function () {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});
输入命令node app.js运行,结果如下:

在网页访问localhost:5277可以看到返回的Hello world。
路由
设置路由,当用户访问特定的URL可以获取相应的页面。
在client下放入一个index.html主页文件,当用户访问主页地址时发送此文件。
主页如下:
<html>
<head>
<meta charset="utf-8">
<title>我的主页</title>
</head> <body>
<h1>欢迎来到我的主页</h1>
</body>
</html>
读取文件需要引入node的文件模块fs:
var fs = require('fs');
使用readFile函数读取文件, readFile(filename,[options],callback)
filename:文件名或者路径,必须
options:可选参数,包括读写,不存在创建,已经encoding编码属性
callback:回调函数,默认第一个参数error,第二个data
app.get('/', function (req, res) {
fs.readFile('./client/index.html',function(error,data){
if(error) {
//错误,发生错误信息
res.send('500 - Server Error');
}else{
//成功,发生文件,并设置类型为‘text/html’
res.set('Content-Type', 'text/html');
res.send(data);
}
});
});
运行,浏览器访问localhost:5277,显示如下

需要在访问图片,css等静态资源,可以通过 Express 内置的 express.static 托管静态文件,设置如下:
//public为静态资源文件地址
app.use(express.static('public'));
在主页中就可以使用src="data:images/img.png"直接访问图片。

完整代码:https://github.com/Martian1/myweb
使用Express开发个人网站(一)的更多相关文章
- Node与express开发
1.初识Express Express 网站上是这样介绍 Express 的: "精简的.灵活的 Node.js Web 程序框架,为构建单页.多页及混合的 Web 程序提供了一系列健壮的功 ...
- 使用Java开发高性能网站需要关注的那些事儿
无论大型门户网站还是中小型垂直类型网站都会对稳定性.性能和可伸缩性有所追求.大型网站的技术经验分享值得我们去学习和借用,但落实到更具体的实践上并不是对所有网站可以适用,其他语言开发的网站我还不敢多说, ...
- SharePoint Server 2013开发之旅(二):使用在线的开发人员网站进行SharePoint App开发
上一篇我已经介绍了新版本的SharePoint Server提供了四种主要的开发场景,其中一个全新的App开发模型让我们眼前一亮.这一篇我将介绍如何在线进行SharePoint App开发. 谈到Sh ...
- 10个很棒的学习Android 开发的网站(转)
看到江湖旅人 写的<10个很棒的学习iOS开发的网站 - 简书>,所以就忍不住写Android 啦,也希望对大家有帮助.我推荐的网站,都是我在学习Android 开发过程中发现的好网站,给 ...
- 使用IntelliJ IDEA开发SpringMVC网站(一)开发环境
使用IntelliJ IDEA开发SpringMVC网站(一)开发环境 摘要: 主要讲解初期的开发环境搭建,Maven的简单教学. 访问GitHub下载最新源码:https://github.com/ ...
- 使用IntelliJ IDEA开发SpringMVC网站(二)框架配置
原文:使用IntelliJ IDEA开发SpringMVC网站(二)框架配置 摘要 讲解如何配置SpringMVC框架xml,以及如何在Tomcat中运行 目录[-] 文章已针对IDEA 15做了一定 ...
- thinkphp5开发的网站出现”No input file specified”(php版本5.6.27)
thinkphp5开发的网站出现”No input file specified”(php版本5.6.27) 一.总结 一句话总结:搜索引擎一定要用google,比百度节约时间一万倍,google啊, ...
- 清理IIS Express上的网站
默认情况下,当使用Visual Studio浏览网页时,网站会被保存在IIS Express上,这些网站需要手动清理.可以通过命令行或界面进行清理. □ 通过命令行 →找到appcmd.exe在C:\ ...
- node+express搭建个人网站(2)
node+express搭建个人网站(1)这一节中成功启动了一个网站但还很简陋,仅仅打印了一个helloworld的网页 作为个人网站,我们当然想输出自己设计好的网页, 我们借助 Express 应用 ...
随机推荐
- CSS限制字数,超出部份显示点点点...
最近项目中需要用CSS实现限制字数,超出部份显示点点点...,只需要一下代码即可: width:400px;/*要显示文字的宽度*/ text-overflow :ellipsis; /*让截断的文字 ...
- [TPYBoard - Micropython之会python就能做硬件 8] 学习使用蓝牙模块及舵机
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.实验器材 1.TPYboard V102板 一块 2.电机驱动模块L2 ...
- 构建微服务-使用OAuth 2.0保护API接口
微服务操作模型 基于Spring Cloud和Netflix OSS 构建微服务-Part 1 基于Spring Cloud和Netflix OSS构建微服务,Part 2 在本文中,我们将使用OAu ...
- javascript-引用类型--Object类型
引用类型是一种数据结构,本质是数据和功能的集合.引用类型有时也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法.引用类型相当于java里面的类,javascript虽然是一门面向对象语言,但 ...
- IOS百度地图之--->第一篇《环境配置与基本使用》
Ios 百度地图SDK简易使用说明:http://developer.baidu.com/map/index.php?title=iossdk 先道歉:对于原来上传的Demo我很抱歉,什么都没有,也没 ...
- 无图无定位新版css步骤条兼容ie6+
<ul class="ui-step list-unstyled"> <li class="step-item"><b class ...
- Windows上安装Kafka需要注意的几点
1.不能安装在有空格的路径上 比如:D:\Program Files 2.设置日志路径时,要用"/",不能用Windows上的"\",比如: # A comma ...
- js中的this关键字,setTimeout(),setInterval()的执行过程
var test1 = { name: 'windseek1', showname: function () { console.log(this.name); } } var test2 = { n ...
- 填坑实录 Android Studio 利用 ADB WIFI 插件实现真机无线调试
总是用模拟器,小破本的渣内存无法承受,同时模拟器的版本大多停在4.4,无法体现Android 5.0.6.0 的版本特性,因此决定利用 Android Studio 的插件实现真机无线调试. 步骤如下 ...
- 【转】Flash字体嵌入方法
原文链接:http://www.cnblogs.com/ddw1997/archive/2011/11/13/2247546.html 一.如果使用flash cs5.5 1.先新建一个字体fla文件 ...