- 40
- 0
我用 rollup 打包了一个 vue3 组件,组件代码:// main.vue<template> <div> <div @click="clickDiv">{{ 1 }}</div> <div ref="divRef"></div> </div></template><script>import { onMounted, ref, defineComponent } from 'vue'export default defineComponent({ name: 'Vue3Component', mounted () { console.log('component mounted') // it works well }, setup() { const divRef = ref() const clickDiv = () => { console.log('divRef', divRef) // it causes some warnings } onMounted(() => { console.log('component onMounted') // it causes some warnings }) return { a: ref(1), clickDiv, divRef } },})</script>入口文件:// index.jsimport Vue3Component from './main.vue'Vue3Component.install = (app) => { app.component(Vue3Component.name, Vue3Component)}export { Vue3Component}rollup 配置文件:// rollup.config.jsimport resolve from '@rollup/plugin-node-resolve'import commonjs from '@rollup/plugin-commonjs'import pkg from './package.json'import external from 'rollup-plugin-peer-deps-external'import vuePlugin from 'rollup-plugin-vue'const extensions = ['.vue', '.js']const globals = { vue: 'Vue', 'highlight.js': 'hljs', 'marked': 'marked'}export default [ { input: 'src/index.js', output: [ { name: 'VueNextMEditor', file: pkg.main, format: 'umd', globals }, { file: pkg.module, format: 'es' }, { name: 'VueNextMEditor', file: pkg.unpkg, format: 'umd', plugins: [terser()], globals } ], plugins: [ external(), vuePlugin(), resolve(), commonjs({ extensions }) ] }]当我在组件根目录下用 vue-cli 生成了一个 example 项目调试这个组件时,我发现 setup 中的 onMounted 方法没有生效,产生了如下警告:[Vue warn]: onMounted is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.ref 也产生了警告:[Vue warn]: Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function. at <Vue3Component> at <App>但是 setup 外面的 mounted 函数是可以正常执行的,就很奇怪。不知道是我打包出现了问题还是组件引用产生了问题。项目完整地址:项目地址
0
打赏
收藏
点击回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

