从弹性beanstalk提供的静态文件不起作用

时间:2017-08-29 04:03:36

标签: angularjs node.js amazon-web-services amazon-ec2

我有一个角度应用程序,从localhost完美地工作,但在beanstalk它没有提供我的所有文件。找到并提供了我的index.html和styles.css,两者都在我的root中名为public的一个文件夹中。 我的构建文件位于路径/build/build.js中,它不会提供它,但它会在本地主机上提供。

我目前只是从我的服务器提供文件而不使用staticfiles.config,因为它完全不起作用。

文件夹结构:

root:  
/public : index.html ,styles.css
/src: modularized angular and htmls for routes . 
/build: build.js

const express = require('express');
const path = require('path');
const fs = require('fs');
const bodyParser = require('body-parser');
const emailController = require('./controllers/emailController');

const app = express();
const port = process.env.PORT || 3000;

app.use(bodyParser.json());
app.use(express.static(path.resolve(__dirname, '../public')));
app.use(express.static(path.resolve(__dirname, '../')));

app.post('/email', emailController);

app.listen(port, () => {
  console.log(`Server is listening on mfing ${port}`);
});
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <meta name="description" content="Hydration Packs and Cooler Bags for Hiking, Outdoors, Work, Festivals, Biking and More">
  <link rel="stylesheet" type="text/css" href="./styles.css">
  <script src="/node_modules/angular/angular.js"></script>
  <script src="/node_modules/angular-route/angular-route.js"></script>
  <script src="/build/build.js"></script>
  <link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet">
  <title>Hydration Packs and Cooler bags | Absolute Zero</title>
</head>

这是我的服务器和index.html的负责人。有谁知道什么是错的? 感谢。

1 个答案:

答案 0 :(得分:0)

用此替换脚本搜索。你需要使用./

  <script src="./node_modules/angular/angular.js"></script>
  <script src="./node_modules/angular-route/angular-route.js"></script>
  <script src="./build/build.js"></script>