vue项目打包部署到flask等后端服务里面,实现前后端不分离部署,解决空白页面和刷新页面not fount问题

  1. 编译模式一定要设置为esnext,否则会报错:

Strict MIME type checking is enforced for module scripts per HTML spec.Expected a JavaScript module script but the server responded with a MIME type of "text/plain".

具体解释可以看vite官方文档:构建选项 | Vite 官方中文文档

2.而且路由模式要改为hash模式:

复制代码
import {
    createRouter,
    createWebHistory,
    createWebHashHistory,
    RouteRecordRaw,
} from 'vue-router'

// 全局路由
const router = createRouter({
    history: createWebHashHistory(), // 路由模式:history模式
    routes: routes,
})

3.flask的模板文件放置

flask项目根目录要有templates文件夹和static文件夹,用于存储vue打包后的模板文件和静态文件

在flask中映射模板文件:

python 复制代码
from flask import Flask, jsonify, request, render_template

app = Flask(__name__, static_url_path='/',
            static_folder='static', template_folder='templates')


@app.route("/")
def index():
    return render_template("index.html")


# @app.route("/v1/server/nfcadduser", methods=["POST"])
# def add_user_nfc():
#     data_json = request.form  # 获取POST请求中的data参数
#     print(f"接收到的请求参数是: {data_json}")
#     data = {
#         "code": 200,
#         "data": data_json,
#         "msg": "操作成功"
#     }
#     return jsonify(data)


if __name__ == '__main__':
    app.run(host="0.0.0.0", port=9080)
相关推荐
一 乐2 分钟前
在线考试|基于springboot + vue在线考试系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
Monly215 分钟前
【大前端】前期准备-Trae开发工具安装
前端
lllljz17 分钟前
blenderGIS出现too large extent错误
java·服务器·前端
吉吉安18 分钟前
双层文字扫光效果
前端·javascript·css
珑墨19 分钟前
【架构】前端 pnpm workspace详解
前端·架构
小马_xiaoen22 分钟前
WebSocket与SSE深度对比与实战 Demo
前端·javascript·网络·websocket·网络协议
摇滚侠22 分钟前
html,生成一个五行五列的表格,第三列边框是红色,其余列边框是黑色
前端·html
GISer_Jing24 分钟前
从工具辅助到AI开发前端新范式
前端·人工智能·aigc
美狐美颜SDK开放平台24 分钟前
从抖音到私域直播:抖动特效正在重塑直播美颜sdk
前端·人工智能·第三方美颜sdk·视频美颜sdk·美狐美颜sdk
qq_124987075326 分钟前
基于spring boot的调查问卷系统的设计与实现(源码+论文+部署+安装)
java·vue.js·spring boot·后端·spring·毕业设计·计算机毕业设计