Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在无需客户端启动请求的情况下将配置选项从node/express server传递到Vue应用程序?_Node.js_Express_Vue.js_Webpack_Vuex - Fatal编程技术网

Node.js 如何在无需客户端启动请求的情况下将配置选项从node/express server传递到Vue应用程序?

Node.js 如何在无需客户端启动请求的情况下将配置选项从node/express server传递到Vue应用程序?,node.js,express,vue.js,webpack,vuex,Node.js,Express,Vue.js,Webpack,Vuex,我有一种感觉,这可能已经被问了好几次,回答了好几次,但没有找到任何东西。可能是因为只有超级通用搜索词可供使用。无论如何: 我有一个Node/Express服务器,它处理一些基本的/管理的后端内容,还提供一个静态的Vue应用程序,就像在app.js中那样: app.use('/*', express.static('client-dist')) …因此,只要express找不到匹配的路线,就会提供vue应用程序;所有其他路线的前缀均为/api 我希望能够在运行时通过后端服务器配置Vue应用程序的

我有一种感觉,这可能已经被问了好几次,回答了好几次,但没有找到任何东西。可能是因为只有超级通用搜索词可供使用。无论如何:

我有一个Node/Express服务器,它处理一些基本的/管理的后端内容,还提供一个静态的Vue应用程序,就像在
app.js
中那样:

app.use('/*', express.static('client-dist'))
…因此,只要express找不到匹配的路线,就会提供vue应用程序;所有其他路线的前缀均为
/api

我希望能够在运行时通过后端服务器配置Vue应用程序的某些方面

在上面的
app.use
调用发生时,我得到了一个名为
clientConfig
的普通对象,它包含我希望传递给Vue应用程序的所有信息,包括API调用的根URL以及我希望立即提供给客户端的各种其他信息。我使用的是vuex,所以理想情况下,我希望在初始加载时将该对象的值放入vuex存储


是否有一种方法可以将该对象注入Vue,而无需在加载Vue应用程序后立即启动axios调用来检索该对象?感觉上,由于服务器是vue应用程序的服务对象,因此应该有某种方式通过环境变量或类似的方式将其传递进来,但webpack对我来说仍然相当不透明,因此我很难想出一种好的方法来实现它。

任何在运行时不是动态生成的东西(例如api路由),最好将它们导出到json文件中,并将其包含在前端构建中


至于其他方面,我相信你的选择是有限的。最简单的方法是对服务器进行ajax调用。

服务器上是否安装了Webpack?这应该是一个开发人员依赖项,您正在为静态构建输出提供服务。我已经写了一些关于SPA运行时配置的内容,SSI选项不需要额外的请求。不,它只是驻留在服务器上的生成输出。然后Webpack将不是一个选项,尽管您可以在生成时使用它(我在这里展示了一个方法:)。