Я пытаюсь просто получить доступ к файлу JavaScript из файла HTML с помощью атрибута script src, но мне не удалось это сделать.Оба файла находятся в моей папке функций.
В моей папке функций есть следующий файл Index.js Cloud Function:
const functions = require('firebase-functions');
const db = require('./admin');
var viewerApp = require('./viewerApp');
exports.view = functions.https.onRequest(viewerApp);
файл viewApp.js выглядит следующим образом:
const express = require("express");
const fs = require('fs');
const viewerApp = express();
module.exports =
viewerApp.get('/:collection_name/:id', (req, res) =>
{
var viewerHTML = fs.readFileSync('./viewerApp.html').toString();
var id = req.params.id;
var collection_name = req.params.collection_name;
var rendered_HTML = eval(viewerHTML);
res.send(rendered_HTML);
}
)
Вы заметите оператор eval (viewerHTML), который ссылается на отдельный html-файл с именем viewerApp.html, который в основном содержит литерал шаблона и выглядит так:
<!DOCTYPE html>
<html lang="en">
<body>
...
</body>
</html>
(еслиу кого-то есть лучшее предложение разделить HTML-код на отдельный файл, при этом можно использовать $ {variable}, что также будет полезно, поскольку eval () не идеален и, возможно, является частью того, что вызывает мою проблему)
Вышеописанное работает нормально, за исключением того, что я не могу понять, как ссылаться на файл JavaScript, расположенный в той же папке функций, что означает, что мне нужно будет включить весь мой JavaScript в файл viewerApp.html, что будет беспорядочно.
Я испробовал все эти возможности в файле viewerApp.html (чтобы попытаться сослаться на файл JavaScript с именем test.js):
<script src="./test.js"></script>
<script src="/test.js"></script>
<script src="test.js"></script>
<script src=test.js></script>
Все вышеперечисленное приводит к следующей ошибке в консоли:
Uncaught SyntaxError: Unexpected token < test.js:2
(я получаю ту же ошибку, если пытаюсь сослаться на имя файла, которого не существует, поэтому я подозреваю, что проблема впуть к файлу или ограничение возможности доступа к локальной файловой системе)
Я не знаю, что делать с ошибкой, связанной с символом <, поскольку содержимое test.js просто: </p>
console.log("logging happened");
Любая помощь будет очень признательна.Спасибо !!