当前位置: 首页 > 面试题库 >

使用express.js在node.js中提供html的最佳实践是什么?

宦兴朝
2023-03-14
问题内容

我目前正在我的app.js / server.js文件中提供我所有的html,如下所示:

app.get('/', function(req, res) {
    res.render('index.html');
});
app.get('/about', function(req, res) {
    res.render('about.html');
});
app.get('/projects', function(req, res) {
    res.render('projects.html');
});

我想如果我有15个以上的html页面,那可能不是调用它们的最佳方法。是否有更好的方法可以从另一个文件或位置为它们提供服务,并使用导出或仅能在app.js上调用一个函数或某些东西的服务。这可能是路由的目的,但也许我不太了解。

(添加了同一文件中的更多代码

app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/public');

// used below code to render html files
app.engine('html', require('ejs').renderFile);

app.set('view engine', 'ejs');
app.use(express.favicon("public/img/favicon.ico"));
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));

问题答案:

您可以使用static中间件:

app.use("/", express.static(__dirname));

一个服务器示例:

var express = require('express');
var app = express();
app.use('/', express.static(__dirname + '/public'));
app.listen(3000, function() { console.log('listening')});

这是文件结构:

.
├── public
│   ├── a.html
│   ├── b.html
│   └── c.html
└── server.js

说明文件:

  • http://expressjs.com/api.html#app.use
  • http://www.senchalabs.org/connect/static.html
  • http://expressjs.com/faq.html#multiple-statics


 类似资料:
  • 问题内容: 我有一个普通的Node.js脚本,该脚本通过API从Wikipedia中提取数据并将其存储在SQLite数据库中。我正在使用此node- sqlite3 模块。 在某些情况下,我要提取多达60万篇文章中的数据,并在数据库中连续存储有关每篇文章的一些元数据。从API中以500为一组检索文章。 检索带有500条文章中的数据的JSON对象的请求将对象传递给此回调: 这些模块默认情况下并行运行

  • 问题内容: 我将开始使用AngularJS进行客户端和Django进行服务器端项目。 使他们像最好的朋友一样工作的最佳实践是什么(静态文件,身份验证,部署等) 问题答案: 有多种方法可以从Django模板中为客户端模板提供支持,以实现有趣的优化。但是,鉴于Django和AngularJS的模板语言之间的相似之处,在这里几乎不值得付出任何努力。对于此类大多数项目,我会将AngularJS的静态服务与

  • 9 Node.js 最佳实践 9.1 配置文件 一般代码的运行的环境起码应该包括本地开发环境和线上运行环境,那么问题来了,你开发环境用的配置信息可是跟线上环境不一样的。那么已经存储这个配置信息呢?在代码中写死肯定是最low的方式。更通用的方式是使用配置文件,可是你一旦将这个配置文件就面临一个问题,你这个配置文件一旦提交到了 git 之后,你的同事 pull 代码之后,就有可能就他本地配置文件覆盖掉

  • 问题内容: 我是Swift新手。我需要类似SwiftiOS项目中Python的BeautifulSoup之类的东西。准确地说,我需要将所有这些都以结尾。我应该采取什么步骤? 问题答案: 有几个不错的 HTML解析 库,它们使用,如下所示: hpple NDHpple Kanna( old Swift-HTML-Parser) Fuzi SwiftSoup Ji 看一下上面发布的四个库中的以下示例,

  • 问题内容: 我正在调用一个Web服务,该服务返回JSON中的对象数组。我想获取这些对象并使用HTML填充div。假设每个对象都包含一个url和一个名称。 如果我想为每个对象生成以下HTML: 是否有最佳做法?我可以看到几种方法: 连接字符串 创建元素 使用模板插件 在服务器上生成html,然后通过JSON投放。 问题答案: 选项#1和#2将是您最直接的直接选项,但是,对于这两个选项,您都将通过构建

  • 问题内容: 我刚开始学习Go,并通读现有代码以学习“其他人的做法”。在这种情况下,遍历使用go“工作区”,尤其是与项目依赖关系有关的地方。 在处理各种Go项目时,使用一个或多个Go工作区(即$ GOPATH的定义)的常见(或存在)最佳实践是什么?我应该期望有一个类似于我所有项目的中央代码存储库的Go工作区,还是在我处理这些项目时都明确将其分解并设置$ GOPATH(有点像python) virtu