You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vaadin23+SpringBoot2.7.6中intl-tel-input i18n模块导入失败

解决intl-tel-input国际化模块导入TypeScript报错问题

1. 核对包的导出路径配置

intl-tel-input的npm包若在package.json的exports字段中未声明i18n子模块的映射规则,会导致TypeScript无法解析导入路径。你可以直接查看本地node_modules/intl-tel-input/package.json的exports节点:

  • 若未找到./i18n/*相关配置,直接使用本地文件的完整相对路径导入:
    import fr from 'intl-tel-input/build/js/i18n/fr';
    
    注意匹配本地文件结构,确认目标文件是fr.js(intl-tel-input的i18n文件为JS格式)。

2. 修正TypeScript类型声明

修改types.d.ts时,需准确声明i18n模块的类型:

// 通用匹配所有i18n模块
declare module 'intl-tel-input/i18n/*' {
  const translations: Record<string, string>;
  export default translations;
}

// 或针对具体路径声明
declare module 'intl-tel-input/build/js/i18n/fr' {
  const fr: Record<string, string>;
  export default fr;
}

同时确保tsconfig.json的include字段包含该类型文件:

{
  "include": [
    "src/**/*",
    "./types.d.ts"
  ]
}

3. 调整Vaadin的Vite构建配置

Vaadin 23使用Vite作为前端构建工具,可能存在路径解析限制,可通过添加别名解决:
在vite.config.ts中添加别名映射:

import { defineConfig } from 'vite';

export default defineConfig({
  resolve: {
    alias: {
      'intl-tel-input/i18n': 'intl-tel-input/build/js/i18n'
    }
  }
});

修改后重启Vaadin开发服务器,让配置生效。

4. 确认包版本兼容性

检查当前安装的intl-tel-input版本是否和官方文档匹配,部分旧版本的i18n文件结构或导出逻辑不同。可尝试升级到最新稳定版:

npm install intl-tel-input@latest

内容的提问来源于stack exchange,提问作者user25786506

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 19:37:03