Angular1 Nginx资源被解释为样式表,但使用MIME类型text / html

时间:2017-09-08 08:23:25

标签: angularjs nginx

撕裂我的头。 我已经使用nginx在数字海洋液滴上部署了一个角度1应用程序。 我可以访问该网站,但我的资产作为html文件加载。 这是我的nginx配置

server {
    listen 80;
    listen [::]:80;

    root /home/me/app;
    index index.html;

    server_name example.com;
    location / {
    try_files $uri $uri/ /index.html;
    }
}

应用结构:

Project
    app
       index.html
       styles
          app.css
       libs
          angular
             angular.js
          jquery

我已经完成了所有可以找到但没有成功的答案。 以下是我尝试过的事情。

  1. 使用<base href="/" />样式
  2. 我检查了nginx mime-types文件,一切看起来都不错。
  3. 删除了链接和脚本标记上的所有type属性
  4. 我在网上发现了很多随机的东西,到目前为止没什么用。
  5. 更新:    运行curl -v <cssfile>后    这是输出

      Connected to example.com (12.23.12.33) port 80 (#0)  
      GET /libs/assets/animate.css/animate.css HTTP/1.1
      Host: example.com  
      User-Agent: curl/7.47.0
      Accept: */*
      HTTP/1.1 200 OK
      Server: nginx/1.10.3 (Ubuntu)
      Date: Fri, 08 Sep 2017 08:59:47 GMT
      Content-Type: text/html
      Content-Length: 3777
      Last-Modified: Fri, 08 Sep 2017 07:56:35 GMT
      Connection: keep-alive
      ETag: "59b24d33-ec1"
      Accept-Ranges: bytes
    

    它基本上返回index.html文件的内容

1 个答案:

答案 0 :(得分:0)

我能够通过在服务器块中插入Content-Type来修复它。

location ~ \.css {
    add_header  Content-Type    text/css;
 }

location ~ \.js {
    add_header  Content-Type    application/x-javascript;
 }

响应带有2个Content-Type标题,但现在对我有效。