我目前正在创建一个涉及flask和webpack的项目。目前flask服务器能够找到相关模板,但无法找到相关JavaScript。
我有一个webpack配置用于创建超文本标记语言文件使用webpack html插件这样:
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const CleanWebpackPlugin = require('clean-webpack-plugin');
module.exports = {
entry: {app: './src/index.js', print: './src/print.js'},
output: {filename: '[name].bundle.js', path: path.resolve(__dirname, 'dist')},
plugins: [new HtmlWebpackPlugin({template:"./src/index.html"}), new CleanWebpackPlugin(['dist'])],
};
在src目录中使用名为index.html的模板,其中包含以下内容:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hellow World</title>
</head>
<body>
<h1>It Works</h1>
</body>
</html>
webpack应将其与以下javascript index.js捆绑在一起:
import _ from 'lodash';
import printMe from './print.js';
function component() {
let element = document.createElement('div');
let btn = document.createElement('button');
// lodash now imported
element.innerHTML = _.join(['Hello', 'webpack'], ' ');
// new button
btn.innerHTML = 'Click me and check the console!';
btn.onclick = printMe;
element.appendChild(btn);
return element;
}
document.body.appendChild(component());
和print.js:
export default function printMe() {
console.log('I get called from print.js!');
}
app.py如下:
from flask import Flask, render_template
app = Flask(__name__, template_folder="dist/", static_folder="dist/")
@app.route("/")
def index():
"""
renders basic index page
:return: template
"""
return render_template("index.html")
# app entry point
if __name__ == "__main__":
app.run(debug=True)
运行构建后,会在dist文件夹中生成一个模板,其内容index.html如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hellow World</title>
</head>
<body>
<h1>It Works</h1>
<script type="text/javascript" src="app.bundle.js"></script><script type="text/javascript" src="print.bundle.js"></script></body>
</html>
我无法解决它如何能够找到模板,但无法找到相关的JavaScript。
根据您的配置,app.bundle.js
的正确URL是/dist/app.bundle.js
如果要从其他文件夹提供静态文件,则必须将静态url\u路径
参数设置为”
:
app = Flask(__name__, template_folder="dist", static_folder="dist", static_url_path="")
问题内容: 我曾尝试阅读Bottle的文档,但是,我仍然不确定静态文件服务的工作方式。我有一个文件,并且在其中有一个css文件,可以正常工作。但是,我读到的是Bottle不会自动提供css文件,如果页面正确加载,那是不正确的。 但是,在请求页面时遇到了速度问题。是因为我没有使用?如果有人可以弄清它们的工作方式以及在加载页面时如何使用它们,那将是很好的。 服务器代码: 指数: 问题答案: 如文档中所
问题内容: 我混淆了STATIC_ROOT和STATICFILES_DIRS 实际上,我并不是很了解STATIC_ROOT的实用程序。我认为这是我必须放置公用文件的目录。该目录用于生产,这是collectstatic将放置(收集)静态文件的目录。 STATICFILES_DIRS是我需要的。 由于我处于开发环境中,因此对我来说,解决方案是不使用STATIC_ROOT(或指定其他路径)并在STATI
这可能吗?
我正在使用flask-RESTful开发API,并且对Flask的jsonify函数有问题。我正在使用flask-marshmlet进行JSON序列化。下面是一个非常简化的代码片段: 在本地,endpoint将返回具有键“data”和“error”的json;但是,当在Linux服务器上运行时,它会返回一个包含列表和在没有“data”和“error”键的情况下返回的结果。 我已经确定这种不一致是由
问题内容: 我正在尝试使用Flask创建一个Web应用程序,该应用程序允许用户上传文件并将其提供给其他用户。现在,我可以将文件正确 地上 传到 upload_folder了 。但是我似乎找不到找到让用户下载回来的方法。 我将文件名的名称存储到数据库中。 我有一个为数据库对象服务的视图。我也可以删除它们。 在我的HTML中,我有: 和下载视图: 但它正在返回: 未找到 在服务器上找不到请求的URL。
这是Thymeleaf引擎的配置文件。我还试图添加资源处理,这是: SpringBoot with Thymeleaf-css not search 包com.ggk.config; 这是我的索引。html添加css文件。