一个这样目录的前端打包文件如何在Flask上配置路径?

作者站长头像
站长
· 阅读数 28

vue的打包内容:一个这样目录的前端打包文件如何在Flask上配置路径?如何把打包的vue,放到Flask里面?这个目录在/data/dist

现在是

dir_path_base='/data/'
app = Flask(__name__,
            root_path=dir_path_base+"dist",
            static_url_path=dir_path_base+"dist",
            static_folder=dir_path_base+"dist/assets/",
            template_folder = dir_path_base+"dist")  

但是访问的时候还是娶不到静态资源。一个这样目录的前端打包文件如何在Flask上配置路径?

回复
1个回答
avatar
test
2024-06-30

太长不看版

已经搞定!要这样写

dir_path_base='/data/yzc/FedWeb/web_font/'
app = Flask(__name__,
            static_folder=dir_path_base+"dist/assets/",
            template_folder = dir_path_base+"dist"            
            )  

具体探索版

1

dir_path_base='/data/yzc/FedWeb/web_font/'
app = Flask(__name__,
            root_path=dir_path_base+"dist",
            )  

结果raise TemplateNotFound(template)

2

dir_path_base='/data/yzc/FedWeb/web_font/'
app = Flask(__name__,
            template_folder = dir_path_base+"dist"            
            )  

结果是找不到静态文件,找到了template文件index.html,还行。

127.0.0.1 - - [20/Jul/2023 13:51:32] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [20/Jul/2023 13:51:32] "GET /assets/index-2edf8bd1.js HTTP/1.1" 404 -
127.0.0.1 - - [20/Jul/2023 13:51:32] "GET /assets/index-9021f5e4.css HTTP/1.1" 404 

3

那么把静态文件的路径写上就搞定了

dir_path_base='/data/yzc/FedWeb/web_font/'
app = Flask(__name__,
            static_folder=dir_path_base+"dist/assets/",
            template_folder = dir_path_base+"dist"            
            )  

结果成功!

127.0.0.1 - - [20/Jul/2023 13:53:59] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [20/Jul/2023 13:53:59] "GET /assets/index-2edf8bd1.js HTTP/1.1" 200 -
127.0.0.1 - - [20/Jul/2023 13:53:59] "GET /assets/index-9021f5e4.css HTTP/1.1" 200 -
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容