首页 > 解决方案 > 在 Vue 运行时运行一些外部 JS 代码

问题描述

是否可以在运行时在 Vue 中运行一些外部 JS 代码?

例如,我有一些逻辑可以由本地管理员在运行时修改,而无需重新加载整个应用程序,该应用程序作为一块 JS 代码存储在数据库中,并且可以通过 axios 调用通过后端访问。那么是否可以在不预编译的情况下包含这些脚本?像这样使用:

let params = {...}; //some input props for my stored script

let script = restService.getScript(); //get script code from backend via axios

let result = scriptService.executeScript( script, params ); //execute script with given params

我对 Java 应用程序有类似的方法,可以在运行时执行存储的 Groovy 脚本,想在我的 Vue 应用程序中实现类似的东西。

我对前端 JS 开发还很陌生,所以我可能缺少一些明显的东西。

标签: javascriptvue.jsruntime

解决方案


在您的 vue 应用程序 main.js 中,您可以定义您的 vue 实例,例如:

window.app = new Vue({
      store,
      render: h => h(App)
    });

app.$mount('#app');

从外部 js 你可以从app对象访问你的 Vue 实例。如果您使用的是vuex,您可以调用如下操作

app.$store.dispatch('ACTION_NAME', 'Payload');

推荐阅读