我已经尝试了所有答案,但没有一个可以解决我的问题。我有一个html页面,我在其中使用js绘制svg。现在我想将这个js存储在外部文件中并调用它(我的html和js文件在同一个文件夹中)。
<script src="show1.js"></script>
这样做,我的内部js找不到外部js中定义的函数,并给出'ReferenceError:DrawLine未定义'。我甚至尝试在外部js中使用alert来检查它是否正在加载,但即使是警报也无法正常工作。有什么设置我必须检查?请帮助。
我的代码非常庞大。我发布的这个代码段显示了内部和外部的js。
<head>
<script>
//only variables are declared
<script>
</head>
<body>
<script src="show1.js"></script>
<script> drawline(10,10,20,20,'black',4); </script>
</body>
show1.js:
function drawline(x1,y1,x2,y2,c,w)
{
//do stuff
}
注意:这些页面是django项目的一部分,因此我的html和js存储在项目的模板文件夹中。
答案 0 :(得分:0)
您可以使用django中的静态文件应用程序来提供外部静态文件:https://docs.djangoproject.com/en/1.10/ref/contrib/staticfiles/
您可以在项目中创建一个文件夹来托管您的静态资源(例如名称为static),然后您需要将项目配置为在设置中提供静态文件
STATIC_ROOT = 'path to your folder/static/'
STATIC_URL = '/static/'
然后在你的模板中:
{% load staticfiles %}
<head>
<script>
//only variables are declared
<script>
</head>
<body>
<script src="{% static 'show1.js' %}"></script>
<script> drawline(10,10,20,20,'black',4); </script>
</body>
在开发模式下,runserver命令将为您的静态文件提供服务。您可能希望在生产模式下直接从Web服务器提供文件。设置可能因django版本而异,您可以参考您的版本文档以获取更多详细信息。