Я разрабатываю библиотеку компонентов Vue 3, используя Vite и TypeScript, и когда я импортирую и использую свою библиотеку в другом приложении Vue 3, я получаю следующую ошибку: < /p>
runtime-core.esm.js:38 [Vue warn]: Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.
< /code>
После некоторого исследования я обнаружил, что эта проблема часто возникает из -за множества экземпляров VUE, объединенных вместе. Тем не менее, я уже использую внешнюю: ["vue"] в моем Vite.config.ts, поэтому я не понимаю, почему это происходит.import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import typescript2 from "rollup-plugin-typescript2";
import { resolve } from "path";
import cssInjectedByJsPlugin from "vite-plugin-css-injected-by-js";
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
vue(),
typescript2({
check: false,
include: ["src/**/*.vue", "src/**/*.ts"],
tsconfigOverride: {
compilerOptions: {
outDir: "dist",
sourceMap: true,
declaration: true,
declarationMap: true
}
},
exclude: ["vite.config.ts"]
}),
cssInjectedByJsPlugin()
],
build: {
cssCodeSplit: false,
sourcemap: false,
lib: {
entry: "./src/main.ts",
formats: ["es", "cjs"],
name: "RuntimeCore",
fileName: format => `runtime-core.${format}.js`
},
rollupOptions: {
external: ["vue"],
output: {
exports: "named",
globals: {
vue: "Vue"
}
}
}
},
resolve: {
alias: {
"@": resolve(__dirname, "src")
}
}
});
< /code>
Я создаю модуль и зависимость с использованием < /p>
vite build && vue-tsc --emitDeclarationOnly
< /code>
В моем пакете json у меня есть следующие записи < /p>
"main": "dist/tk3d_hotspots.cjs.js",
"module": "dist/tk3d_hotspots.es.js",
"typings": "dist/main.d.ts",
"type": "module",
Кто -нибудь еще испытал эту проблему с библиотекой Vue 3 + Vite?
Я разрабатываю библиотеку компонентов Vue 3, используя Vite и TypeScript, и когда я импортирую и использую свою библиотеку в другом приложении Vue 3, я получаю следующую ошибку: < /p> [code]runtime-core.esm.js:38 [Vue warn]: Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function. < /code> После некоторого исследования я обнаружил, что эта проблема часто возникает из -за множества экземпляров VUE, объединенных вместе. Тем не менее, я уже использую внешнюю: ["vue"] в моем Vite.config.ts, поэтому я не понимаю, почему это происходит.import { defineConfig } from "vite"; import vue from "@vitejs/plugin-vue"; import typescript2 from "rollup-plugin-typescript2"; import { resolve } from "path"; import cssInjectedByJsPlugin from "vite-plugin-css-injected-by-js";
< /code> Я создаю модуль и зависимость с использованием < /p> vite build && vue-tsc --emitDeclarationOnly < /code> В моем пакете json у меня есть следующие записи < /p> "main": "dist/tk3d_hotspots.cjs.js", "module": "dist/tk3d_hotspots.es.js", "typings": "dist/main.d.ts", "type": "module", [/code] Кто -нибудь еще испытал эту проблему с библиотекой Vue 3 + Vite?