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

时间:2015-07-19 18:58:17

标签: 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)允许前端将请求发送回服务器(因此我可以使用表单并获取数据和内容) ?

1 个答案:

答案 0 :(得分:13)

你应该做以下事情:

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

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

    您基本上会将其添加到您的快递应用中:

    app.use( express.static( __dirname + '/client' ));
    

    其中'/client'将是您的前端应用文件的文件夹名称。

    2。创建API服务器

    您可以了解如何创建API服务器here

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

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

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

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

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

    有关回复的更多信息here

    总结

    这些是你应该寻求建立你的应用程序的东西。

    您可以看到一个简单的应用程序,其中包含已实现的内容here