背景
我正在尝试使用angularjs使用文件上传,并尝试使用nodejs将其保存在文件中。这整个设置我试图在我的本地服务器上进行。
我对angular js part的索引文件位于名为portal / standards.html
的文件夹中我正在尝试使用express在根目录server.js中使用express启动服务器,下面是我正在尝试的重定向。
Server.js
app.get('/', function(req, res) {
res.sendFile('portal/standards.html' , { root : __dirname});
});
问题
当我使用来自快速服务器的上述重定向时,当我使用实时服务器时,standard.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">
答案 0 :(得分:2)
您可以在您的静态文件目录中指向express:
app.use(express.static('./portal/'));
// Optional any deep link calls should return index.html
app.use('/*', express.static('index.html'));
您应该只将静态资产放在要为这些资产提供服务的目录中 - 不包括您当前包含的php文件,以便您在逻辑上划分目录结构。
逻辑上划分它意味着您有一个目录(以及您需要的所有子目录)用于静态文件(即在浏览器中运行的代码)和服务器文件。一个常见的应用程序结构(文件名只是示例):
对myApp
--src
--client
--app
--angular-模块1
--angular-模块2
--etc ...
--server
app.js
等......
这只是一个例子。关于如何构建快速和有角度的应用程序,你可以研究,然后决定哪种方法最适合你的项目,有不同的意见。