flask 和 angularjs 路由的问题

flask 和 angularjs 路由的问题

问题

最近在做一个项目,使用的是angularjs9 和 flask,也是边做边跳坑。

做的项目后期,碰到了个angularjs 和 flask 路由的问题。

因为我是直接ng build生成了dist文件夹,然后使用flask 的send_from_directory 直接把dist 下面的index.html 页面返回给用户。
然后配置了自定义的404处理。

具体代码如下

@main.route('/<path:path>', methods=['GET'])
def static_proxy(path):
    return send_from_directory('../dist/student-app', path)


@main.route('/')
def index():
    if current_user.is_anonymous:
        return redirect('/login')
    return send_from_directory('../dist/student-app', 'index.html')


@main.errorhandler(404)
def page_not_found(e):
    return redirect("/")

整个应用跑起来好像没什么大问题,但是正如angularjs官方文档所说

324.png

我在应用里多导航了几次,再刷新页面的话,就会跑flask的404跳转。

解决方法

在网上搜索了很多,也没找到好的处理方法,然后我觉得是不是可以利用cookies和session之类的来解决?

我的方法大致是,在404处理的时候,利用cookies来保存当前请求的路由,然后再到angular应用里,利用这个cookies来跳转页面。

@app.errorhandler(404)
def page_not_found(e):
    res = make_response(redirect("/"))
    res.set_cookie('next', request.path)
    return res

this.router.navigateByUrl(next);

随便说说

在网上找了很久也没找到解决方法【可能这个问题太low了吧】,这个抛砖引玉,如果有好的方法回应留言回复。

# flask  python  NodeJs 

右下角对话与我联系。


评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×