【发布时间】:2020-12-22 01:03:14
【问题描述】:
互联网上充斥着使用 Flask (api) 和 Vue.js (client) 提供的应用程序示例,但由于 Vue 是一个 SPA,因此也可以使用 Flask 来提供它。 我没有找到任何帮助,尤其是应用程序存储在外部 js 中。
使用 Firefox 时出现不允许类型的错误:
从“http://localhost:5000/static/App”加载模块被阻止 因为不允许的 MIME 类型(“text/html”)。
在 Chrome 上,我只是找不到文件,因为它试图获取 App 文件而不是 App.vue。
这是我所拥有的:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
{% raw %}
<div id="app">
{{ message }}
</div>
{% endraw %}
</body>
<script type="module" src="{{ url_for('static', filename='myvue.js') }}"></script>
</html>
myvue.js
import App from './App.vue'
new Vue({
el: '#app',
template: '<App/>',
components: { App }
});
app.vue(简单地从 SO 上的另一个示例中获得):
<template>
<div id="app">
<h1>My Todo App!</h1>
<!-- <TodoList/> -->
</div>
</template>
请注意,{{message}} 在那里是无用的,可以删除。我怀疑模板也是错误的,但我无法达到这一点。 我希望能够在没有 CLI 的情况下工作,或者至少能够自己完成所有工作以避免另一层依赖(npm 用大量已弃用的东西吓到我)
【问题讨论】: