小编Ali*_*ari的帖子

vue3+vite+vuei18n 构建“未捕获的类型错误:_ctx.$t 不是函数”

我想将我的 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)

vue.js vue-i18n vite

5
推荐指数
1
解决办法
8133
查看次数

vite 构建样式必须单独导入

我有一个 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)

vue.js vite

4
推荐指数
1
解决办法
7650
查看次数

标签 统计

vite ×2

vue.js ×2

vue-i18n ×1