使用express.js提供html文件以及脚本,css和图像

Ros*_*ode 4 javascript node.js express

我正在尝试构建我的第一个webapp,我开始使用前端并使用jquery和jquery mobile以及许多插件我已经有一个重要的前端,并且所有这些都来自单个html文件(因为jquery mobile使用页面div在同一个文件中)但是还有一个app的主要js文件,一个css文件和插件等包含的许多css和js文件.我现在正尝试使用node.js和express.js添加数据库和其他后端功能,但是当我使用res.sendFile()来提供html脚本和css don'时,我遇到了一堵墙.加载,当我尝试服务目录时,一切都在其中显示目录作为链接,我当然不希望在公共视图中(虽然当我这样做并单击html文件链接它工作正常.

我想知道的是如何使用express来a)提供外部设计和维护的前端和b)允许前端将请求发送回服务器(所以我可以使用表单并获取数据和东西)?

Eri*_*las 14

你应该做以下事情:

  1. 提供静态文件
  2. 创建一个API服务器,用于侦听来自前端应用程序的请求

1.提供静态文件

要使用Express提供静态文件,请阅读链接.

你基本上将它添加到你的快递应用程序:

app.use( express.static( __dirname + '/client' ));
Run Code Online (Sandbox Code Playgroud)

'/client'您的前端应用程序文件的文件夹名称将在何处.

2.创建API服务器

您可以在此处查看如何创建API服务器.

对于应用程序的入口点,您应该发送/呈现文件.

这可以通过以下代码完成:

app
  .get( '/', function( req, res ) {
    res.sendFile( path.join( __dirname, 'client', 'index.html' ));
  });
Run Code Online (Sandbox Code Playgroud)

每次用户在应用程序的根路径请求文件时,都会发送静态文件.

您也可以使用星号*(通配符)代替/.该符号表示对于请求的任何路径,您将使用相同的文件/操作进行响应.

更多关于这里的回应.

总结

这些是您应该寻求构建应用程序的东西.

您可以在这里看到一个简单的应用程序.