我在尝试将
github/relative-time-element
与 Nuxt 3.11.2 和 Nitro 2.9.6 一起使用时遇到问题。
这是我到目前为止所做的:
$ npm install @github/time-elements.
export default defineNuxtConfig({
...
vue: {
compilerOptions: {
isCustomElement: (tag) => tag.startsWith('relative-time')
}
},
...
})
components/atom/TimeRelative.vue
:<script setup>
// TimeRelative.vue
import { ref, computed } from 'vue';
import { onMounted } from 'vue';
import '@github/time-elements/dist/relative-time-element.js';
onMounted(() => {
});
const props = defineProps({
time: String,
class: String
});
</script>
<template>
<ClientOnly>
<relative-time datetime="2014-04-01T16:30:00-08:00" tense="past" format="relative" prefix="this happened on">
April 1, 2014
</relative-time>
</ClientOnly>
</template>
这会导致错误,指出无法找到该包:(它存在)
ERROR Internal server error: Missing "./dist/relative-time-element.js" specifier in "@github/time-elements" package 3:49:06 PM
Plugin: vite:import-analysis
File: /.../components/atoms/TimeRelative.vue
import '~/node_module/@github/time-elements/dist/relative-time-element.js';
它不会抛出错误,但也不会执行任何操作 - HTML 的渲染就像组件根本没有被转换一样。
将此包包含在 Nuxt 3 中的正确方法是什么?
谢谢!
node_modules/@github
文件夹包含relative-time-element
文件夹,所以正确的导入是:
import '@github/relative-time-element';
我检查过 - 它有效。