flask支持Vue2 mode history历史模式

发布时间 2023-12-09 11:41:42作者: jaaks

Vue Router 配置

在Vue2 router里面增加

const router = new VueRouter({
  mode: 'history',
  base: '/admin/', //这里路径写你打包后的网址路径
  routes: [
    // 这里是你的路由配置
  ],
});

vue.config.js 打包配置

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  publicPath: '../static/admin/' //静态资源路径
})

然后打包

Flask 路由配置

@blue.route('/admin/', defaults={'path': ''})
@blue.route('/admin/<path:path>')
def get_admin(path):
    return render_template('admin.html')
  • @blue.route('/admin/', defaults={'path': ''}):这是 Flask 路由的第一个部分,匹配 /admin/ 路径。defaults={'path': ''} 表示当没有提供额外路径时,默认将 path 参数设置为空字符串。
  • @blue.route('/admin/<path:path>'):这是 Flask 路由的第二个部分,使用 <path:path> 模式匹配所有额外的路径,并将它们传递给 path 参数。
  • def get_admin(path):这是路由处理函数,它接受一个 path 参数。这个函数返回使用 render_template 渲染的 admin.html 模板。这里的关键点是,Flask 不会处理这个路由,而是将它交给 Vue 处理。