不能使用 Vue JS 作为 CDN 的 3rd 方组件

Posted

技术标签:

【中文标题】不能使用 Vue JS 作为 CDN 的 3rd 方组件【英文标题】:Can't use 3rd party components with Vue JS as CDN 【发布时间】:2018-12-04 10:42:47 【问题描述】:

我正在学习 Vue JS 以尝试使我的 django 应用程序更具交互性, 我打算在我的模板中使用 Vue JS 作为组件,而不是作为 SPA。 这就像 JQuery 替换, 因此,我在正文元素末尾通过脚本标记使用 CDN 版本。

我面临的问题是,当我尝试使用 3rd 方组件时,我发现它们中的大多数都需要安装 npm,而且我不太确定是否要这样做,我宁愿保持简单,

所以我正在尝试将第 3 方组件与 CDN 一起使用,例如这个 https://github.com/bliblidotcom/vue-rangedate-picker

但我不知道如何配置我当前的组件来使用它!

为了让您了解我在这里要做什么, 我有一个处理搜索表单并将数据显示到表格中的组件, 我想在我的搜索表单中添加日期选择器并将日期绑定为我的 API 调用中的参数。

【问题讨论】:

github.com/bliblidotcom/vue-rangedate-picker#browser 和 bliblidotcom.github.io/vue-rangedate-picker/demo/src/main.js 我是否需要定义一个名为 'rangedate-picker' 的 Vue 组件才能使其工作?那么我可以在我当前的组件中使用这个组件并交换数据吗?或者有没有办法直接将它放在我当前的组件中? @伯特 在上面的第二个链接中有一行,VueRangedatePicker.default.install(Vue)。这将创建一个名为 vue-daterange-picker 的全局组件。 @Bert,当我使用它时,它会记录和错误:未捕获的 ReferenceError: VueRangedatePicker 未定义 你任由库开发者摆布。有时他们只给你一个 .vue 文件(你必须编译它),有时他们给你一个可以使用的 dist 文件夹。最好的办法是通读文档并查看他们创建的任何演示,看看他们是如何做到的。 【参考方案1】:

组件的文档有点不正确。浏览器 CDN 链接将不起作用 - 您需要 /dist 文件。这是一个最小的工作演示。

假设您还包含来自 CDN 的 Vue,您可以这样做

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.13/vue.min.js"> 
</script>
<script src="https://unpkg.com/vue-rangedate-picker/dist/vue-rangedate-picker.min.js">
</script>

<div id="app">
  <vue-rangedate-picker 
    @selected="onDateSelected" i18n="EN" format="YYYY-MM-DD hh:mm:ss">
  </vue-rangedate-picker>
</div>
</body>

<script>
document.addEventListener("DOMContentLoaded", () => 
  VueRangedatePicker.default.install(Vue)

  new Vue(
    el: "#app",
    methods: 
      onDateSelected() 
      
    
  )
)
</script>
</html>

编辑:在文档here 中修复此问题。

【讨论】:

以上是关于不能使用 Vue JS 作为 CDN 的 3rd 方组件的主要内容,如果未能解决你的问题,请参考以下文章

通过 Webpack 和 Vue.JS 导入和使用 3rd 方包

Vue CDN引入依赖包

Vue项目使用CDN优化首屏加载

使用Vue CDN时如何使用mapGetters?

Nuxt:在 Vue 页面组件中包含 3rd 方库

vue中使用cdn优化