小编fi-*_* do的帖子

将 Flask 与 Nuxtjs 结合进行 SSR

我正在开发一个通用应用程序,前端和后端分离,使用 Flask 作为 API,Nuxtjs 作为前端。在尝试 Nuxtjs 之前,我只使用 vuejs (SPA),但后来我意识到它没有针对 SEO 进行优化。无论如何,我能够在使用构建模式(静态和index.html)时使用生成的dist 文件。我可以使用以下代码来处理它:

app = Flask(__name__, template_folder = "../frontend/dist")
cors = CORS(app, resources={r"/api/*": {"origins": "*"}})

@app.route('/static/js/<filename>')
def send_js(filename):
    filename = str(filename)
    return send_from_directory('../frontend/dist/static/js', filename)

@app.route('/static/css/<filename>')
def send_css(filename):
    filename = str(filename)
    return send_from_directory('../frontend/dist/static/css', filename)

@app.route('/static/fonts/<filename>')
def send_img(filename):
    filename = str(filename)
    return send_from_directory('../frontend/dist/static/fonts', filename)

@app.route('/static/img/<filename>')
def send_statics(filename):
    filename = str(filename)
    return send_from_directory('../frontend/dist/static/img', filename)

@app.route('/statics/icons/<filename>')
def send_icons(filename):
    filename = str(filename)
    return send_from_directory('../frontend/dist/static/statics/icons', filename)


@app.route('/', defaults={'path': ''})
@app.route('/<path:path>')
def catch_all(path):
    return render_template("index.html")
Run Code Online (Sandbox Code Playgroud)

然而,当我开始使用Nuxtjs时,构建模式生成不同的文件(没有index.html,没有静态文件夹),我不知道如何处理它。您可以在下面的屏幕截图中找到它生成的内容: 生成的文件

flask vue.js server-side-rendering nuxt.js

5
推荐指数
1
解决办法
1039
查看次数

标签 统计

flask ×1

nuxt.js ×1

server-side-rendering ×1

vue.js ×1