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中加入如下代码,就能启动一个简单的服务器

  

  1. var express = require('express');
  2. var app = express();
  3.  
  4. app.get('/', function (req, res) {
  5. res.send('Hello World!');
  6. });
  7.  
  8. var server = app.listen(5277, function () {
  9. var host = server.address().address;
  10. var port = server.address().port;
  11.  
  12. console.log('Example app listening at http://%s:%s', host, port);
  13. });

  输入命令node app.js运行,结果如下:

  

在网页访问localhost:5277可以看到返回的Hello world。

路由

  设置路由,当用户访问特定的URL可以获取相应的页面。

  在client下放入一个index.html主页文件,当用户访问主页地址时发送此文件。

  主页如下:

  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <title>我的主页</title>
  5. </head>
  6.  
  7. <body>
  8. <h1>欢迎来到我的主页</h1>
  9. </body>
  10. </html>

  读取文件需要引入node的文件模块fs:

  1. var fs = require('fs');

  使用readFile函数读取文件, readFile(filename,[options],callback)

  filename:文件名或者路径,必须

  options:可选参数,包括读写,不存在创建,已经encoding编码属性

  callback:回调函数,默认第一个参数error,第二个data

  1. app.get('/', function (req, res) {
  2. fs.readFile('./client/index.html',function(error,data){
  3. if(error) {
  4. //错误,发生错误信息
  5. res.send('500 - Server Error');
  6. }else{
  7. //成功,发生文件,并设置类型为‘text/html’
  8. res.set('Content-Type', 'text/html');
  9. res.send(data);
  10. }
  11. });
  12. });

  运行,浏览器访问localhost:5277,显示如下

  需要在访问图片,css等静态资源,可以通过 Express 内置的 express.static 托管静态文件,设置如下:

  1. //public为静态资源文件地址
  2. app.use(express.static('public'));

  在主页中就可以使用src="data:images/img.png"直接访问图片。

  

  完整代码:https://github.com/Martian1/myweb

使用Express开发个人网站(一)的更多相关文章

  1. Node与express开发

    1.初识Express Express 网站上是这样介绍 Express 的: "精简的.灵活的 Node.js Web 程序框架,为构建单页.多页及混合的 Web 程序提供了一系列健壮的功 ...

  2. 使用Java开发高性能网站需要关注的那些事儿

    无论大型门户网站还是中小型垂直类型网站都会对稳定性.性能和可伸缩性有所追求.大型网站的技术经验分享值得我们去学习和借用,但落实到更具体的实践上并不是对所有网站可以适用,其他语言开发的网站我还不敢多说, ...

  3. SharePoint Server 2013开发之旅(二):使用在线的开发人员网站进行SharePoint App开发

    上一篇我已经介绍了新版本的SharePoint Server提供了四种主要的开发场景,其中一个全新的App开发模型让我们眼前一亮.这一篇我将介绍如何在线进行SharePoint App开发. 谈到Sh ...

  4. 10个很棒的学习Android 开发的网站(转)

    看到江湖旅人 写的<10个很棒的学习iOS开发的网站 - 简书>,所以就忍不住写Android 啦,也希望对大家有帮助.我推荐的网站,都是我在学习Android 开发过程中发现的好网站,给 ...

  5. 使用IntelliJ IDEA开发SpringMVC网站(一)开发环境

    使用IntelliJ IDEA开发SpringMVC网站(一)开发环境 摘要: 主要讲解初期的开发环境搭建,Maven的简单教学. 访问GitHub下载最新源码:https://github.com/ ...

  6. 使用IntelliJ IDEA开发SpringMVC网站(二)框架配置

    原文:使用IntelliJ IDEA开发SpringMVC网站(二)框架配置 摘要 讲解如何配置SpringMVC框架xml,以及如何在Tomcat中运行 目录[-] 文章已针对IDEA 15做了一定 ...

  7. thinkphp5开发的网站出现”No input file specified”(php版本5.6.27)

    thinkphp5开发的网站出现”No input file specified”(php版本5.6.27) 一.总结 一句话总结:搜索引擎一定要用google,比百度节约时间一万倍,google啊, ...

  8. 清理IIS Express上的网站

    默认情况下,当使用Visual Studio浏览网页时,网站会被保存在IIS Express上,这些网站需要手动清理.可以通过命令行或界面进行清理. □ 通过命令行 →找到appcmd.exe在C:\ ...

  9. node+express搭建个人网站(2)

    node+express搭建个人网站(1)这一节中成功启动了一个网站但还很简陋,仅仅打印了一个helloworld的网页 作为个人网站,我们当然想输出自己设计好的网页, 我们借助 Express 应用 ...

随机推荐

  1. 用ajax实现不刷新分页

    今天我们要用ajax做一个分页: 实现Ajax分页: 如果可以的话加上查询条件 找一张表做分页 分页不使用page类 页面不用刷新 Ajax加载数据 <!doctype html> < ...

  2. python调用SOA服务

    python调用SOA服务,运用suds模块 #! /usr/bin/python # coding:gbk import suds,time,sys reload(sys) sys.setdefau ...

  3. NIO(一、概述)

    离上次发布文章已过去好几个月,说好的积累和分享都烟消云散.似乎忙碌从未终止过,加班成为常态,甚至阅读都需要更琐碎的时间. 目录 NIO(一.概述) NIO(二.Buffer) 概述 JavaNIO(n ...

  4. SQL注入相关的知识【Mysql为例子】

    以DVWA的sql注入初级为例,结合网上搜索的相关利用方式,总结成这一篇文章,内容会有点跳跃. 大纲: 1.初级手工注入 2.order by的使用 3.union查询注意点 4.Mysql相关的注释 ...

  5. Synchronized的用法

    synchronized是Java中的关键字,是一种同步锁.它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码 ...

  6. 【转】ActionScript,Flash,Flash/Flex Builder,FlashPlayer,AIR,swf,swc,swz之间的区别

    原文链接:http://zengrong.net/post/1295.htm ActionScript ActionScript通常简称为AS,它是Flash平台的语言.AS编写的程序,最终可以编译成 ...

  7. 从Hosting开始

    一.介绍: Hosting作为用户编程入口,往下管理HttpServer,往上构建并调用Http请求中间件的管线(RequestDelegate 在HttpAbstractions模块细说),承上启下 ...

  8. [深入学习Redis]RedisAPI的原子性分析

    在学习Redis的常用操作时,经常看到介绍说,Redis的set.get以及hset等等命令的执行都是原子性的,但是令自己百思不得其解的是,为什么这些操作是原子性的? 原子性 原子性是数据库的事务中的 ...

  9. 老李分享:大数据框架Hadoop和Spark的异同

    poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-845052 ...

  10. 五分钟秒懂Java日志组件

    Java中有许多种日志记录方式,有些API有占位符,有些API没占位符,初学的人可能会搞不清楚这些日志组件的由来.我一开始的时候也是很懵逼的,后来一点点弄懂了于是就又了这篇文章. 在Java中进行日志 ...