外部JS文件无法在我的HTML文件中工作

时间:2019-01-08 05:21:54

标签: javascript html d3.js

JS的新手,用于D3可视化,并且当我处理具有JS脚本的html文件时:

<script src="visualization.js" type="text/javascript"></script>

我最终收到此错误消息:

  

无法加载资源:服务器响应状态为404   (未找到)visualization.js:1无法加载资源:服务器   响应状态为404(未找到)

我尝试了以下在本网站和其他网站上找到的建议解决方案,但似乎无济于事。我尝试过:

  • 通过尝试使用正确的目录的Map1 / visualization.js及其它其他变体来更详细地说明路径。

  • 清除缓存和所有浏览数据。

  • 将js文件放在与HTML文件相同的目录中(从头开始)

有人知道解决方案吗?不知道出什么问题了。

我的html文件代码:

<!doctype html>
<html>
<head>
    <meta charset= "utf-8">
    <style>
        *{
            font-family: "Helvetica Neue";

        }
        p {
            font-size: 0.85em;

        }
        svg {
            background: #efefef;
        }
    </style>
</head>
<body>

    <div id="map"></div>

    <!-- Socket io !-->
    <script src="/socket.io/socket.io.js"></script> 

    <!-- D3 Link !-->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.2.2/d3.min.js"></script>

    <!-- Topojson library !-->
    <script src="http://d3js.org/topojson.v1.min.js"></script>

    <!-- Visualization file -->
    <script src="visualization.js" type="text/javascript"></script>

</body>
</html>

该项目的所有文件都在目录Map1中。

Map1:
  -map1.html
  -package.json
  -server1.js -> the file to that serves my html file
  -visualization.js
  -world.topojson``

4 个答案:

答案 0 :(得分:1)

听起来好像您正在从存储HTML / JS文件的另一个工作目录中运行服务器。如果您具有此目录结构:

app
 └── static
      ├── index.html
      └── visualization.js

...,您已经从app目录启动了服务器,然后浏览器将在此处寻找visualization.js

app
 ├── static
 │    └── ...
 │   
 ├── index.html
 └── visualization.js <-

请确保您从包含visualization.js的目录运行服务器。

答案 1 :(得分:0)

我有几个:

  1. 尝试将'./visualization.js'放入src。
  2. 检查拼写。
  3. 将此行放在标签的末尾。

答案 2 :(得分:0)

您可以使用npm软件包assets

使用后,您可以使用方法resolver.path()

现在,不要写这个:

var url = '/assets/images/icons/create.png';

您可以这样写:

var url = resolver.path('icons/create.png');

答案 3 :(得分:0)

确保您的Java脚本文件“ visualization.js”仍然存在,或检查是否 根据您的说法,“ visualization.js”应位于与您的html相同的目录中 档案。如果不是,那就是出现404错误的原因。我建议您 检查您的“ visualization.js”文件当前存在的目录。 试试这个;

例如:-

在这里,我的意思是“目录”是您的visualisation.js当前所在的目录。