我使用vue cli创建了一个新的vue项目,然后调整main.js以支持web组件:
import Vue from 'vue';
import wrap from '@vue/web-component-wrapper';
import HelloWorld from "./components/HelloWorld";
const CustomElement = wrap(Vue, HelloWorld);
window.customElements.define('my-custom-element', CustomElement);
运行vue-cli-service build --target wc
时,我得到以下错误:
ERROR Vue 3 support of the web component target is still under development.
我不知道为什么会出现这个错误,我可以做些什么来修复它。
package.json:
...
"dependencies": {
"@vue/web-component-wrapper": "^1.2.0",
"core-js": "^3.6.5",
"vue": "^3.0.2"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-plugin-eslint": "~4.5.0",
"@vue/cli-service": "^4.5.4",
"@vue/compiler-sfc": "^3.0.0",
"babel-eslint": "^10.1.0",
"eslint": "^6.7.2",
"eslint-plugin-vue": "^7.0.0-0"
},
...
我使用的是@vue/cli版本4.5.9。
3条答案
按热度按时间vfwfrxfs1#
你好,这里面有一个更新。主题见github上的问题和评论twitter看起来像vue 3. 2. 0,我们有这个功能回来了,我创建了一个小stackblitz,但正如你所看到的样式没有应用
gzszwxb42#
Vue-CLI目前还不支持Vue 3的web组件,但是你可以用手来做,这对我很有效。
第一个月
src/MyLib-WC.js
package.json
然后
npm run build
。jc3wubiy3#
正如@tony19所指出的,解决方案是不使用Vue 3,因为它目前不支持Web组件。
对我来说,问题是误导性的错误信息,因为“仍在开发中”并没有向我发出Web组件完全不受支持的信号。我将其理解为“不是所有东西都能完美工作”。