我目前正在使用vue-cli创建一个Node项目,其中包括webpack。我可以构建所有脚本并在`.vue`文件中使用pug语言。然而,在构建项目时,会使用`HTML-Webpack-Plugin`输出代码为静态HTML和客户端脚本。
我如何将变量从服务器端传递到这些客户端脚本? 以前我使用的是pug,这使得该过程很容易,但由于它现在被构建为`.html`文件,所以无法再这样做。
我的尝试有两种,但都不太理想:
这种方法的问题在于,当构建时变量被混淆后,我无法将其传递给vue实例,也没有访问它的方式(或者说有吗?我还没有找到方法)。
2.使用AJAX请求
我也可以为服务器端站点数据创建restful API,并使用AJAX检索它,但这似乎是一个真正的hack,相比于仅通过pug模板发送数据(使用第1种方法),这将损失相当多的性能(因为客户端JS必须将数据插入DOM)。
我的尝试有两种,但都不太理想:
1. 将变量发送到客户端脚本
script.
const clinetSideVar = `!{serverSideVar}`;
这种方法的问题在于,当构建时变量被混淆后,我无法将其传递给vue实例,也没有访问它的方式(或者说有吗?我还没有找到方法)。
2.使用AJAX请求
我也可以为服务器端站点数据创建restful API,并使用AJAX检索它,但这似乎是一个真正的hack,相比于仅通过pug模板发送数据(使用第1种方法),这将损失相当多的性能(因为客户端JS必须将数据插入DOM)。
{serverSideVar}
是什么?它是一个文件路径还是在构建后不会改变的其他内容? - Sphinx