javascript - 如何在另一个 Vue 项目中使用 Vue Web 组件(由 Vue-CLI 3 生成)?

标签 javascript vue.js vuejs2 vue-component vue-cli-3

我可以使用由 Vue-CLI 3 构建命令(vue-cli-service build --target wc --name foo ./src/App.vue)生成的网络组件作为独立的 像这样的网页中的组件:

<script src="https://unpkg.com/vue"></script>
<script src="./foo.js"></script>

<foo></foo>

但是当我在另一个 Vue 项目中导入这个组件时:

import Vue from 'vue'
import foo from 'foo'

我得到这个错误:

Uncaught ReferenceError: Vue is not defined

Vue CLI 3 documentation说:

In web component mode, Vue is externalized. This means the bundle will not bundle Vue even if your code imports Vue. The bundle will assume Vue is available on the host page as a global variable.

但它并没有说明当你想在另一个项目中使用 web-components 时如何解决这个问题。

你有什么想法吗?

最佳答案

事实上你引用的声明意味着你不需要使用import Vue from 'vue' . Vue 可以用作全局变量,因为它已由脚本添加 <script src="https://unpkg.com/vue"></script>.

关于javascript - 如何在另一个 Vue 项目中使用 Vue Web 组件(由 Vue-CLI 3 生成)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52178388/

相关文章:

javascript - 如何只用 v-bind 绑定(bind)属性一次?

javascript - 如何在不拖动的情况下触发 drag()

javascript - 如何从 Javascript 字符串中删除一段文本?

javascript - 在另一个 promise 中解决 promise

javascript - Vue.js 中的符号 ' 不适用于我的模板

javascript - Object(...) 不是 Vuex Store 的函数

javascript - 如何避免 Vue js 2 组件中的对象引用问题?

javascript - 创建构造函数和适配器来读取 xml

javascript - LocalStorage 无法在 iPhone 上运行 - 无法在私密浏览中使用

javascript - 强制折叠 Vuetify v-list-group 中的所有事件项目