我正在构建一个使用 Express、Vue 和 ThreeJS 的 Node 应用程序。我在后端有这样的设置:
const app = express();
app.post('*', (req, res) => {
const options = {
headers: {
'url': req.body.url
}
}
res.sendFile(path.join(__dirname, 'public/index.html'), options);
});
文件“index.html”包含:
<script type="module" src="/src/main.js"></script>
“main.js”是 Vue 主视图的挂载位置。
现在,“options”中包含的 URL 引用了将由 ThreeJS 在 Vue 视图(前端)中加载的 3D 网格文件。所以我需要知道的是如何获取 Vue 视图中的“选项”以从中获取 URL。有没有办法从 Vue 视图读取标题?
如果有另一种方法可以做到这一点,我想知道。总的来说,我对 Node 很迷茫。
我正在考虑使用模板而不是“index.html”并创建一个带有 value={ url } 的 html 元素,这样我就可以用 Vue 应用程序以某种方式读取 DOM,但这听起来很愚蠢。不过我还没试过,一定有更好的方法。
我设法用模板(使用 Pug)完成了它。在模板中,我导入了JS模块,如下:
script(type="module", src="src/main.js", data-json={"url":url}, id="module-script")
然后,在 JS 模块中,我得到了变量:
const url = JSON.parse(document.getElementById("module-script").dataset.json).url;
另外,我不再使用 Vue,因为原始 JS 对于这个项目来说已经足够好了。