如何从express sendFile()方法获取Vue视图参数

问题描述 投票:0回答:1

我正在构建一个使用 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,但这听起来很愚蠢。不过我还没试过,一定有更好的方法。

node.js vue.js express
1个回答
0
投票

我设法用模板(使用 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 对于这个项目来说已经足够好了。

© www.soinside.com 2019 - 2024. All rights reserved.