d3.js 外部JS文件在我的HTML文件中不起作用

tquggr8v  于 2022-11-12  发布在  其他
关注(0)|答案(4)|浏览(190)

刚接触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``
frebpwbc

frebpwbc1#

这听起来像是你在一个不同的工作目录下运行服务器,而HTML/JS文件是存储在这个目录下的。

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

...并且您已从app目录启动服务器,则浏览器将在此处查找visualization.js

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

请确保您正在从包含visualization.js的同一目录中运行服务器。

31moq8wy

31moq8wy2#

1.步骤1

首先,确保您的Java脚本文件visualization.js仍然存在,或者检查根据您,visualization.js应该位于相同的目录,您的html文件所在。

2.步骤2

但是,如果它不是得到404错误的原因,我建议你检查你的visualization.js文件当前存在的目录.
试试这个;
例如:-<script src="directory/visualization.js" type="text/javascript"></script>
在这里,我的意思是directory是您的visualization.js当前所在的目录。

yvgpqqbh

yvgpqqbh3#

我有几条:
1.请尝试将.“/visualization.js”放在src中。
1.请检查拼写。
1.将此行放在标记的末尾。

eoigrqb6

eoigrqb64#

您可以使用npm包assets
使用后,您可以使用方法resolver.path()
"现在,不要写这个“

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

您可以这样写:

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

相关问题