我正在尝试构建我的第一个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)允许前端将请求发送回服务器(因此我可以使用表单并获取数据和内容) ?
答案 0 :(得分:13)
你应该做以下事情:
要使用Express提供静态文件,请阅读this链接。
您基本上会将其添加到您的快递应用中:
app.use( express.static( __dirname + '/client' ));
其中'/client'
将是您的前端应用文件的文件夹名称。
您可以了解如何创建API服务器here。
对于应用程序的入口点,您应该发送/呈现文件。
这可以通过以下代码完成:
app
.get( '/', function( req, res ) {
res.sendFile( path.join( __dirname, 'client', 'index.html' ));
});
每次用户在应用程序的根路径请求文件时,都会发送一个静态文件。
您也可以使用星号*
(通配符)代替/
。该符号表示对于请求的任何路径,您将使用相同的文件/操作进行响应。
有关回复的更多信息here。
这些是你应该寻求建立你的应用程序的东西。
您可以看到一个简单的应用程序,其中包含已实现的内容here。