【问题标题】:Deployment Angular Project error type MIME (text/html)部署 Angular 项目错误类型 MIME (text/html)
【发布时间】:2020-02-14 16:09:41
【问题描述】:

我尝试部署一个 Angular/CLI 6.12.0 项目。

当我将“dist”文件夹内容放在服务器上时,出现控制台错误 “输入 MIME”。

Le chargement du module à l’adresse « http://www.sylvainallain.fr/polyfills-es2015.fd917e7c3ed57f282ee5.js » a été bloqué en raison d’un type MIME interdit (« text/html »).
Le chargement du module à l’adresse « http://www.sylvainallain.fr/main-es2015.2fcd6517edb1de962f8a.js » a été bloqué en raison d’un type MIME interdit (« text/html »).
Le chargement du module à l’adresse « http://www.sylvainallain.fr/runtime-es2015.24b02acc1f369d9b9f37.js » a été bloqué en raison d’un type MIME interdit (« text/html »).

https://imgur.com/fQKnWAg.jpg

这对我来说是法语^^。 你可以在控制台看到它http://biblio.sylvainallain.fr

它是一个像库一样的简单应用程序。 后端(日志和数据)由 Firebase 管理。

在本地,一切正常。

我使用“ng build --prod”进行构建,它会创建一个“dist”文件夹。

prod 后我的 index.html:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Bibliothèque Angular</title>
  <base href="/">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="favicon.ico">
<link rel="stylesheet" href="styles.735ba4029395bfd97371.css"></head>
<body>
  <app-root></app-root>
    <script src="polyfills-es5.f9fad3ad3c84e6dbdd72.js" nomodule defer></script>
    <script src="polyfills-es2015.fd917e7c3ed57f282ee5.js" type="module"></script>
    <script src="runtime-es2015.24b02acc1f369d9b9f37.js" type="module"></script>
    <script src="main-es2015.2fcd6517edb1de962f8a.js" type="module"></script>
    <script src="runtime-es5.24b02acc1f369d9b9f37.js" nomodule defer></script>
    <script src="main-es5.2fcd6517edb1de962f8a.js" nomodule defer></script></body>
</html>

我发现这个 GitHub 帖子:https://github.com/angular/angular-cli/issues/10325 .这是同样的问题,我尝试了一些解决方案,但没有任何效果。

问题仅在于 es2015.*.js 文件。所以我认为type="module" 存在一个问题,它不像 Javascript 文件那样被识别。 我不明白为什么 Angular 不管理它。

编辑 10 月 25 日:

  • 尝试将type="module" 替换为type="application/javascript"。不要工作。 Source

  • 尝试再次使用 ng update @angular/cli @angular/core --allow-dirtyng build --prod 更新 Angular/CLI 和 Angular/core。不工作

  • 尝试使用 Firebase 托管它。同样的问题:https://bibliang.firebaseapp.com/

感谢您的帮助! :)

【问题讨论】:

    标签: javascript angular deployment build mime-types


    【解决方案1】:
     <script src="polyfills-es2015.fd917e7c3ed57f282ee5.js" type="module"></script>
        <script src="runtime-es2015.24b02acc1f369d9b9f37.js" type="module"></script>
        <script src="main-es2015.2fcd6517edb1de962f8a.js" type="module"></script>
    
    keep all above file in another folder and give path here like
    
    <script src="../../js/polyfills-es2015.fd917e7c3ed57f282ee5.js" type="text/javascript"></script> 
    

    会有用的

    【讨论】:

      【解决方案2】:

      这是因为您的项目工作区中的 dist 文件夹。有两种解决方案对我有用:

      Sol 1. 在您的 dist 文件夹中,可能有一个名为您项目名称的文件夹,将该文件夹的所有文件移动到 dist 文件夹,然后将 dir 位置更改为 server.js 文件中的dist/index.html

      将所有文件从dist/you_project_name 移动到dist/

      然后将 server.js 文件 'dist/you_project_name' 中的 dir 位置更改为 'dist/'

      Sol 2. 您可以更改 index.html 文件中所有导致错误的标签的 src 属性,例如 ::

      <script src="runtime-es2015.js" type="module">
      

      改为

      <script src="folder_name_inside_the_dist_dir/runtime-es2015.js" type="module">
      

      【讨论】:

        猜你喜欢
        • 2018-12-13
        • 2020-03-21
        • 2021-04-07
        • 2020-06-15
        • 2011-09-22
        • 2018-09-03
        • 2018-09-09
        • 1970-01-01
        相关资源
        最近更新 更多