从Flask服务我无法加载javascript文件
我试图在教程之后构建我的第一个单页应用程序,但我无法加载本地javascript文件 我的Python代码:从Flask服务我无法加载javascript文件,javascript,python,angularjs,flask,Javascript,Python,Angularjs,Flask,我试图在教程之后构建我的第一个单页应用程序,但我无法加载本地javascript文件 我的Python代码: from flask import Flask, current_app app = Flask(__name__, static_folder='') @app.route('/') def index(): return current_app.send_static_file('index.html') if __name__ == "__main__":
from flask import Flask, current_app
app = Flask(__name__, static_folder='')
@app.route('/')
def index():
return current_app.send_static_file('index.html')
if __name__ == "__main__":
app.run()
我的HTML:
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<title>My Page</title>
<script
src="https://code.jquery.com/jquery-3.4.0.min.js"
integrity="sha256-BJeo0qm959uMBGb65z40ejJYGSgR7REI4+CW1fNKwOg="
crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.9/angular.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
</head>
<body>
<div ng-controller="IndexController">
<p>{{message}}</p>
</div>
<script src="./static/js/app.js"></script>
</body>
</html>
var myApp = angular.module('myApp', []);
myApp.controller('IndexController', function($scope){
$scope.message = 'binded ok';
});
MyApp
|-static
| |-js
| |-app.js
|-index.html
|-server.py
文件夹结构为:
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<title>My Page</title>
<script
src="https://code.jquery.com/jquery-3.4.0.min.js"
integrity="sha256-BJeo0qm959uMBGb65z40ejJYGSgR7REI4+CW1fNKwOg="
crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.9/angular.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
</head>
<body>
<div ng-controller="IndexController">
<p>{{message}}</p>
</div>
<script src="./static/js/app.js"></script>
</body>
</html>
var myApp = angular.module('myApp', []);
myApp.controller('IndexController', function($scope){
$scope.message = 'binded ok';
});
MyApp
|-static
| |-js
| |-app.js
|-index.html
|-server.py
除了app.js之外,所有加载都正常,它提供了:
请求URL:
状态代码:404未找到
编辑:
如果我直接使用浏览器打开
index.html
,则会加载app.js
。因此,我认为Flask在这里产生了一个问题。尝试引用您的JS文件,如下所示:
使用App=Flask(\uuuu name\uuuu,static\u folder='',static\u url\u path='')创建你的应用程序
相关:您应该将脚本加载为.././static/js/app。js@Yuri它不起作用。同样的行为,不起作用。404再次找不到,路径不同。啊,对了,我明白了,对不起。这里的问题是,您将index.html作为静态文件而不是模板提供。我不确定你是否能够以这种方式引用你的JS文件。那么,你建议对我的server.py
?进行哪些更改?类似于。我不希望用jinja处理它。尝试使用send_file()
,但出现相同问题。