开发者问题收集

即使在 VUE 组件中添加外部 JS 后变量仍然未定义

2021-01-25
412

我尝试从 https://cdn.jsdelivr.net/npm/marked/marked.min.js 导入函数 marked 。我已通过 mount() 注入 <script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script> 。但它总是抛出错误 [Vue warn]: Error in render: "ReferenceError: marked is not defined" 。为什么即使添加了脚本后它仍未定义?

<script>
export default {
  name: 'Upload',
  data () {
    return {
      title: '',
      content: ''
    }
  },
  mounted () {
    let externalScript = document.createElement('script')
    externalScript.setAttribute('src', 'https://cdn.jsdelivr.net/npm/marked/marked.min.js')
    Plugin.async = true
    document.head.appendChild(externalScript)
  },
  computed: {
    markdown2html: function () {
      return marked(this.content)
    }
  }
}
</script>
1个回答

好吧,我不熟悉 Vue,我使用 React,但通常我能够在公共文件夹下的 index.html 中添加脚本链接。然后,当一切构建完成后,它就会出现在那里。

我认为最好的选择是通过 npm 安装它 - npm i marked ,然后 import marked from 'marked' - 为什么不这样做呢?

Joe
2021-01-25