我有一个可用的 Flask 应用程序,我正在尝试重构它以使用 ES6 导入。我不需要它在旧浏览器上运行,而 ES6 导入无需转译即可在现代浏览器中运行,对吗?
我目前只是通过 Flask 的内置服务器运行它。生产应用程序是通过 gevent 提供的,但我显然还没有进行这些更改。
以下是我迄今为止尝试过的。我哪里错了?
视图.py
@app.route('/home')
def serve_home():
return render_template('home.html')
格式化.js
export function formatNumber(...) {
...
}
尝试 1
主页.html
<script type="text/javascript" src="/static/js/main.js"></script>
主文件
import {formatNumber} from "/static/js/formatting.js";
错误(main.js,第 1 行)
未捕获的语法错误:意外的标记 {
尝试 2
将脚本类型更改为“模块”
主页.html
<script type="module" src="/static/js/main.js"></script>
错误(main.js,第 1 行)
加载模块脚本失败:服务器以“text/plain”的非 JavaScript MIME 类型响应。每个 HTML 规范对模块脚本执行严格的 MIME 类型检查。
尝试 3
将两个 Javascript 文件的扩展名分别从“js”更改为“mjs”
主页.html
<script type="module" src="/static/js/main.mjs"></script>
主文件
import {formatNumber} from "/static/js/formatting.mjs";
错误(main.mjs,第 1 行)
加载模块脚本失败:服务器以“application/octet-stream”的非 JavaScript MIME 类型响应。每个 HTML 规范对模块脚本执行严格的 MIME 类型检查。
qq_笑_17
12345678_0001
相关分类