我想将我的 vue3+vite 包发布到 npm,但发布后,我在测试项目中遇到“Uncaught TypeError: _ctx.$t is not a function”,并且我的包无法工作,有什么建议吗...?
PS:我正在使用 vue options api
vite.configs.js:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueI18n from '@intlify/vite-plugin-vue-i18n'
// https://vitejs.dev/config/
const path = require("path")
export default defineConfig({
build: {
lib: {
entry: path.resolve(__dirname, 'src/install.ts'),
name: 'vcp',
fileName: (format) => `vcp.${format}.ts`
},
rollupOptions: {
external: ['vue'],
output: {
exports: 'named',
globals: {
vue: 'Vue',
vcp: 'Vcp'
}
}
},
},
plugins: [
vue(),
vueI18n({
include: path.resolve(__dirname, 'src/assets/translations.json'),
compositionOnly: false,
}) …Run Code Online (Sandbox Code Playgroud) 我有一个 vue3+vite 包,我想将其发布到 npm,但是当我将其导入到测试项目时,我必须单独从 dist 文件夹导入样式,但我希望在我的包注册时导入我的样式,如图所示以下
我现在如何导入:
import myComp from 'foo'
app.use(myComp)
import 'foo/dist/style.css'
Run Code Online (Sandbox Code Playgroud)
我想要的是:
import myComp from 'foo'
app.use(myComp)
// and styles work out of the box
Run Code Online (Sandbox Code Playgroud)
安装.ts(条目):
// @ts-ignore
import componentRegisterer from './plugins/components.ts'
// @ts-ignore
import mixins from './plugins/mixins.ts'
export default {
install: (app: any, options: any): void => {
app.mixin(mixins)
componentRegisterer(app)
}
}
Run Code Online (Sandbox Code Playgroud)
vite.config.js:
/// <reference types="vitest" />
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueI18n from '@intlify/vite-plugin-vue-i18n'
// https://vitejs.dev/config/
const path = …Run Code Online (Sandbox Code Playgroud)