Flask JavaScript文件中出现多余的字符 - javascript

在我的开发过程中发生了一些非常随机的事情,我无法终生弄清楚出了什么问题或原因。

我在Flask中以及使用Docker构建应用程序。到目前为止,一切都进行得很好。

如果我有一个JavaScript文件,则在修改后Flask会在文件末尾加载一些随机字符。或者更具体地说,

如果我有一个文件

alert('random text');

然后加载页面,JS会完成您期望的工作。但是,如果我在文件中添加了其他字符,

alert('randomer text');

我在文件末尾得到2个随机字符。两者看起来像

如果要删除原始文件中的字符,请说

alert('random');

我会得到一个结尾处缺少5个字符的文件,因此看起来像

alert('random te

如您所见,非常奇怪。

在本地运行Flask时,只有当我将所有内容加载到Docker中并开始发生这种情况时,一切都可以正常工作,因此我必须在Docker&Flask / Python中假设其情况。

Flask应用程序是使用默认设置从Gunicorn启动的,在过去也不再是问题。

我的Docker环境与

docker run -t -i -d --name pv -v $PWD:/app/code -p 5000:5000 -p 5555:5555 --link redis_db:redis_db my_image

同样,这在上个月没有改变。

该项目历时2个月以上,从一开始就一直在使用Docker,完全没有问题。

自从此错误开始以来,我可以回忆起的唯一一件事情就是我必须执行一次Hard GIT重置才能移回一次提交。

我已经尝试过的东西。

使用其他IDE查看它是否在编码方面做得很奇怪。
加载时将JavaScript文件声明为utf-8。
在不同的浏览器中加载。 Chrome抛出“未捕获的SyntaxError:意外
令牌非法”。和其他浏览器也做类似的事情。
使用较旧的Docker文件。
从其他视图模板加载脚本。

老实说我很茫然。任何帮助,将不胜感激。

编辑

除此之外,我现在似乎仅在使用Gunicorn运行应用程序时出现错误。

参考方案

您将实际字节值指定为:(239、191、189)

这是U + FFFD,Unicode替换字符:

http://www.fileformat.info/info/unicode/char/0fffd/index.htm

我的猜测是,您在编辑器中无法显示或编辑的文件中写入了错误的字符(正如您在文件末尾添加/删除字符时的怪异行为所解释的那样)。

我会忘记docker,javascript,IDE,浏览器等,而只是查看文件的原始字节,并在必要时替换它们。您可以使用python来做到这一点:

>>> data = open('something.js').read()

# view the last 8 bytes of the file
>>> data[-8:]
...

# if you see the last 3 bytes of the file are the bad 239, 191, 189 sequence,
# (displayed as "\xef\xbf\xbd" in python), then chop them off:
>>> open('something.js', 'w').write(data[:-3])

# or if they occur somewhere else,
# use some other string processing to replace them..
>>> open('something.js', 'w').write(data.replace("\xef\xbf\xbd", ""))

Flask:如何将JSON传递到javascript文件? - javascript

            我有对象main.pyfrom __future__ import with_statement from flask import Flask,request,jsonify,send_file,render_template import json # from flask_cors import CORS app = Flask…

Flask Jinja2语句与JavaScript用例 - javascript

我正在使用Flask框架创建我的第一个小型Web应用程序,但我不确定哪种方法是基于后端Python代码中定义的数据更改页面上元素(ID ='#NRG')元素属性的最佳实践。 :Flask / Jinja2方法: {% if nrg_precip_probs[0] <=25 and nrg_precip_probs[1] <= 25 and nrg…

使用AJAX发送JSON到Flask语法错误 - javascript

url: '/upload', type: 'POST', data: JSON.stringify(pdata), contentType: "application/json; charset=utf-8", dataType: "text", 是我用来发布JSON的内容,它…

Flask request.files.getlist无法遍历多个文件 - javascript

我想通过api上传多个文件,当我打印出如下内容时,可以获得“ FileStorage”的列表:[<FileStorage: 'case1.npz' ('application/octet-stream')>, <FileStorage: 'case2.npz' ('app…

Flask to Dygraph-如何传递数据? - javascript

如果我有一个简单的Python时间数据系列,例如:graphdata = [] graphdata.append( [(datetime.date(2008, 5, 7)),75]) graphdata.append([(datetime.date(2008, 5, 8)), 85]) graphdata.append([(datetime.date(200…