Если вы получите эту ошибку, это также может быть связано с тем, как вы включили файл javascript на свою страницу html. При загрузке модулей вы должны явно объявлять эти файлы как таковые. Вот пример:
//module.js:
function foo(){
return "foo";
}
var bar = "bar";
export { foo, bar };
Когда вы включаете скрипт следующим образом:
<script src="module.js"></script>
Вы получите сообщение об ошибке:
Uncaught SyntaxError : Неожиданный экспорт токена
blockquote>Вам нужно включить файл с атрибутом типа, установленным в «module»:
<script type="module" src="module.js"></script>
И тогда он будет работать так, как ожидалось, и вы готовы импортировать ваш модуль в другом модуле:
import { foo, bar } from "./module.js"; console.log( foo() ); console.log( bar );
Используйте представление «Флажок» для непрерывного чтения из файла навсегда и потока ответа. Используйте JavaScript для чтения из потока и обновления страницы. Этот пример отправляет весь файл, вы можете усечь его в какой-то момент, чтобы сохранить пропускную способность и память. Этот пример засыпает между чтениями, чтобы уменьшить загрузку процессора из бесконечного цикла и разрешить другим потокам более активное время.
from time import sleep
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/stream')
def stream():
def generate():
with open('job.log') as f:
while True:
yield f.read()
sleep(1)
return app.response_class(generate(), mimetype='text/plain')
app.run()
<pre id="output"></pre>
<script>
var output = document.getElementById('output');
var xhr = new XMLHttpRequest();
xhr.open('GET', '{{ url_for('stream') }}');
xhr.send();
setInterval(function() {
output.textContent = xhr.responseText;
}, 1000);
</script>
Это почти то же самое, что этот ответ , который описывает, как передавать и анализировать сообщения, хотя чтение из внешнего файла навсегда было достаточно новым, чтобы быть его собственным ответом. Код здесь проще, потому что мы не заботимся о разборе сообщений или прекращении потока, просто навсегда сохраняя файл.
Я использую пакет frontail
из npm.
npm i frontail -g
frontail /var/log/syslog
посещает http://127.0.0.1:9001 для просмотра журналов
Источник: https://github.com/mthenw/frontail
Это может быть не точный ответ на вопрос (для встраивания html-страницы), но он решает проблему многих пользователей, которые ищут только для
Отображает содержимое файла журнала по мере его обновления
blockquote>
url_for
, как обычно с Flask. – davidism 22 February 2016 в 19:46