【问题标题】:Serving static files from elastic beanstalk not working从弹性 beantalk 提供静态文件不起作用
【发布时间】:2018-02-06 09:39:28
【问题描述】:

我从 localhost 获得了一个运行良好的 Angular 应用程序,但在 beanstalk 上它并没有为我的所有文件提供服务。只有我的 index.html 和 styles.css 被找到并提供服务,它们都在我的根目录中名为 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 的头。有谁知道怎么了? 谢谢。

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 没用。当我将构建放入我的公共文件夹并使用 ./build.js 时,它可以正常工作,而无需将 ./ 放在我的角度 src 上。我也试过 ../build/build.js 这不起作用。
    • 你能把这些文件也放到公共文件夹吗?或者只是copy paste它们在脚本标签中,如果它们不是太长的话?或者您可以将它们上传到扩展名为.js 的网站,并将链接放在src 属性中。三种方法,我给你看,给你! =) @JiniHendrix
    • 奇怪的是我的角度文件正在被提供,但我的构建文件没有
    • 所以现在它是你的构建文件? @JiniHendrix 然后将该文件从public dir 中取出并放在 angulars 旁边。 :)
    • 由于某种原因,它似乎不会从名为 build 的文件夹中提供文件。我把它改成了“buildy”,效果很好。奇怪的东西。
    猜你喜欢
    • 2020-11-13
    • 2014-02-20
    • 1970-01-01
    • 2022-08-17
    • 2021-02-16
    • 1970-01-01
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多