如何获得工作

时间:2015-10-05 10:59:55

标签: javascript angularjs node.js express routes

背景

我正在尝试使用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文件的路径由于某种原因被破坏(虽然它直接加载时工作正常)

error screen

我的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">

folder structure

1 个答案:

答案 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
      等......

这只是一个例子。关于如何构建快速和有角度的应用程序,你可以研究,然后决定哪种方法最适合你的项目,有不同的意见。