前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何搭建 Express 网站

如何搭建 Express 网站

原创
作者头像
Mr.Crypto
修改2018-10-18 17:54:17
4.8K0
修改2018-10-18 17:54:17
举报
文章被收录于专栏:建站达人秀建站达人秀

Express 是一种保持最低程度规模的灵活 Node.js Web 应用程序框架,为 Web 和移动应用程序提供一组强大的功能。nenggou 使用您提议的各种 HTTP 实用程序方法和中间件,快速方便地创建强大的 API。Express 提供精简的基本 Web 应用程序功能,而不会隐藏您了解和青睐的 Node.js 功能。

这篇教程会指导您使用express框架快速地生成站点,使用模板,创建基本录用,并将其部署到Internet上。要做到这些,您需要拥有一个云服务器CVM以及一个站点域名。没有云服务器的同学可以到腾讯云官网点击产品中的云服务器,进行购买。您也可以到这里免费领取一台腾讯云服务器。腾讯云现在有域名金秋盛惠,最低仅需1元起。也可以在购买云服务器时进行加购减免,比正常价格要便宜50%哦。

搭建Node.js和npm环境

在开始我们的教程之前,您需要安装Node.js以及npm开发环境。您可以点击腾讯云实验室的这篇Express快速入门来进行查看,同时还可以在实验室环境中进行模拟,可以帮助您更好的掌握相关方法。当您完成这篇教程后,您的Express环境及应用应该已经搭建好了。

创建Express站点

安装了Express之后,我们可以创建一个快速应用程序。

代码语言:javascript
复制
express -c stylus express_example

您应该看到以下输出:

代码语言:javascript
复制
create : express_example
create : express_example/package.json
create : express_example/app.js
create : express_example/public
create : express_example/routes
create : express_example/routes/index.js
create : express_example/routes/users.js
create : express_example/views
create : express_example/views/index.jade
create : express_example/views/layout.jade
create : express_example/views/error.jade
create : express_example/bin
create : express_example/bin/www
create : express_example/public/javascripts
create : express_example/public/images
create : express_example/public/stylesheets
create : express_example/public/stylesheets/style.styl
​
install dependencies:
 $ cd express_example && npm install
​
run the app:
 $ DEBUG=express_example:* npm start

根据说明,您需要安装依赖项,因此请执行此操作

代码语言:javascript
复制
cd express_example && npm install

这将安装包,你会看到很多输出。完成后,您可以启动您的应用程序。

启动应用程序

这就是你需要的所有设置。现在您可以启动应用程序了。如果您使用的是OSX或Linux,请使用以下命令。

代码语言:javascript
复制
DEBUG=express_example:* npm start

如果您在Windows上,请使用以下命令。

代码语言:javascript
复制
set DEBUG=express_example:* & npm start

您应该看到Express server listening on port 3000,如果您打开 http://127.0.0.1:3000,您将看到默认的Express页面。

使用Git

Git是一个版本控制系统,在Node.js生态系统中大量使用,特别是Github。我们将使用git对我们的网站进行版本化并发布它。如果您的Express服务器仍在运行,请按CTRL + C来停止它。

代码语言:javascript
复制
git init
echo 'node_modules' > .gitignore
git add .
git commit -m 'initial commit'

开发Node.js站点

通常,当您开发Node.js站点时,每次进行更改时都需要重新启动应用程序。Nodemon会在每次更改时重新加载您的应用程序,因此您无需重新启动它。接下来我们安装并运行它:

代码语言:javascript
复制
npm install -g nodemon

然后用应用程序启动:

代码语言:javascript
复制
DEBUG=express_example:* nodemon

Nodemon会自动查找项目设置以查找相应的文件并设置为启动服务器。如果这不起作用,请尝试以下命令:

代码语言:javascript
复制
DEBUG=express_example nodemon npm start

使用nodemon意味着每次进行更改时都不必重新启动应用程序。有关nodemon的更多信息,请参阅自述文件

Express中的HTML

Express对于您使用的模板语言是不可知的。在示例中,我们使用jade来设置布局模板。

代码语言:javascript
复制
doctype
html
  head
    title= title
    link(rel='stylesheet', href='/stylesheets/style.css')
    link(rel='stylesheet', href='/stylesheets/chunkfive-fontface.css')
  body
    header
      nav
        ul
          li 
            a(href="/") Home
          li 
            a(href="/about") About
          li 
            a(href="/contact") Contact
    section#wrapper
        block content
        footer 
          section.css-table
            section.four-column
              section.cell
                p Mauris porttitor <br />felis eu leo aliquet<br /> ac rutrum odio aliquet
              section.cell
                p Mauris porttitor <br />felis eu leo aliquet<br /> ac rutrum odio aliquet
              section.cell
                p Mauris porttitor <br />felis eu leo aliquet<br /> ac rutrum odio aliquet
              section.cell
                p Mauris porttitor <br />felis eu leo aliquet<br /> ac rutrum odio aliquet

将此文件另存为/views/layout.jade覆盖生成器创建的文件。这是我们可以重用的常用模板。该行block content从其使用的页面中提取内容。Express还支持给模板传递变量。在这种情况下,我们传递title变量。更多信息可以查阅Express文档

Express中的CSS

对于此示例我使用的是Stylus,您可以使用您喜欢的CSS语言。其支持变量,mixins,函数等。这是我们的样式表中的一个例子:

代码语言:javascript
复制
body
  font 62.5%/1.5  Helvetica, Arial, "Lucida Grande", "Lucida Sans", Tahoma, Verdana, sans-serif
  text-align center
  background #000
​
#wrapper
  width 920px
  text-align left 
  margin-left auto 
  margin-right auto
  background #fff
  padding 20px
  border-bottom-radius(15px)

在Express中路由

Sinatra路由允许您设置RESTful路由。

在这个例子中,我们在routes / index.js中设置了三个路由:

代码语言:javascript
复制
var express = require('express');
var router = express.Router();
​
router.get('/', function(req, res){
  res.render('index', {
    title: 'Home'
  });
});
​
router.get('/about', function(req, res){
  res.render('about', {
    title: 'About'
  });
});
​
router.get('/contact', function(req, res){
  res.render('contact', {
    title: 'Contact'
  });
});
​
module.exports = router;

有关更多信息,请参阅Express文档

发布您的网站

本文介绍了如何使用Node.js和Express创建一个非常基本的站点。它介绍了Node.js生态系统中的一些内容,并向您展示了如何部署应用程序。最后一步,我们需要在云服务器上托管它。我们可以使用腾讯云服务器来对其进行托管,可以点击这里进行免费的服务器资源申请。如果您想长期保持您的网站的话,您也可以点击这里购买腾讯云的服务器,其可以提供稳定,安全,快速的云服务,并且可以对服务器上的内容进行定期快照,保护您的网站数据不会丢失。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 搭建Node.js和npm环境
  • 创建Express站点
    • 启动应用程序
      • 使用Git
        • 开发Node.js站点
          • Express中的HTML
            • Express中的CSS
              • 在Express中路由
              • 发布您的网站
              相关产品与服务
              云服务器
              云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档