背景
我正在尝试使用 AngularJS 来使用文件上传,并尝试使用 NodeJS 将其保存在文件中。我正在尝试在本地服务器中完成整个设置。
我的 Angular JS 部分索引文件位于名为 Portal/standards.html 的文件夹内
我正在尝试使用根目录 server.js 中的文件快速启动服务器,下面是我尝试执行的重定向。
Server.js
app.get('/', function(req, res) {
res.sendFile('portal/standards.html' , { root : __dirname});
});
问题
当我使用实时服务器时工作正常的standards.html 在我使用来自快速服务器的上述重定向时工作正常。
我是 Nodejs 服务器端的新手。 下面是我的错误,我的 css 和 js 文件的路径由于某种原因被破坏了(尽管当我直接加载它时它工作正常)
我的html
<link href="../libraries/common/bootstrap.css" rel="stylesheet">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<link rel="stylesheet" href="../libraries/common/normalize.css" />
<link rel="stylesheet" href="../libraries/floating-label/floating-label.css" />
<link rel="stylesheet" href="../libraries/top-menu/yamm.css">
<link href="momtest/portal/css/portal.css" rel="stylesheet">
<link href="css/template-wizard.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.3/styles/github.min.css">
最佳答案
您可以将express指向您的静态文件目录:
app.use(express.static('./portal/'));
// Optional any deep link calls should return index.html
app.use('/*', express.static('index.html'));
您应该只将静态 Assets 放在您想要从中提供这些 Assets 的目录中 - 不要包含您当前正在包含的 php 文件,以便逻辑地划分目录结构。
从逻辑上划分它意味着您有一个用于静态文件(即在浏览器中运行的代码)和服务器文件的目录(以及您需要的任何子目录)。常见的应用程序结构是(文件名只是示例):
我的应用程序
--src
--客户端
--应用程序
-- Angular 模块1
-- Angular 模块2
--等等...
--服务器
应用程序.js
等等...
这只是一个例子。关于如何构建 Express 和 Angular 应用程序存在不同的意见,您可以研究这些应用程序,然后决定哪种方法最适合您的项目。
关于javascript - 如何让 AngularJS 文件的 Express 路由正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32946966/