如何在没有 babel 的情况下“导入”对象使用 CDN

问题描述

问题有点乱,抱歉。但是由于一些奇怪的原因,我无法在 vue 中转译我的代码,并且必须使用 CDN 链接“直接”使用 Vue 和其他一些包。

就这样:

<script src="https://cdnjs.cloudflare.com/ajax/libs/survey-vue/1.8.33/survey.vue.min.js"</script>

然后,如果在“普通”Vue 应用程序中,我可以这样做:

import * as Survey from "survey-vue";

window.survey = new Survey.Model(json);

在插入上述脚本后,我尝试在没有任何导入的情况下引用 Survey,结果是“调查对象未定义”。

如果我不能导入Survey,因为我在这里使用了 cdn 链接,我该怎么做?

解决方法

你根本不需要导入,你可以使用全局命名空间:

window.survey = new Survey.Model(json);

survey
    .onComplete
    .add(function (result) {
        document
            .querySelector('#surveyResult')
            .textContent = "Result JSON:\n" + JSON.stringify(result.data,null,3);
    });

var app = new Vue({
    el: '#surveyElement',data: {
        survey: survey
    }
});

这是工作示例 - https://plnkr.co/edit/kBZXGBLPJLJF5Br9