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

Next.js+TypeScript导入JavaScript脚本报错,求解决方案

解决Next.js TypeScript项目导入JavaScript脚本的类型报错问题

可以通过修改JS脚本或添加配套类型文件解决当前的类型报错问题,具体方案如下:

  • 给JS脚本添加JSDoc类型注释
    在JavaScript脚本中通过JSDoc语法定义类型,让TypeScript自动识别。示例:

    /**
     * @typedef {Object} UserOptions
     * @property {string} username - 用户名
     * @property {boolean} isActive - 用户状态
     */
    
    /**
     * 初始化用户信息
     * @param {UserOptions} opts - 用户配置参数
     */
    export function initUser(opts) {
      // 脚本逻辑实现
    }
    
  • 添加配套的TypeScript类型声明文件
    在JS脚本所在目录下创建同名的.d.ts文件,手动定义类型。比如脚本名为utils.js,则创建utils.d.ts:

    export interface UserOptions {
      username: string;
      isActive: boolean;
    }
    
    export function initUser(opts: UserOptions): void;
    
  • 调整脚本的导出方式
    如果原脚本是通过全局变量(比如window.xxx)暴露功能,改成ES模块导出格式,适配Next.js的模块系统:

    // 原全局导出方式
    // window.utils = { initUser: /* ... */ };
    
    // 修改为ES模块导出
    export const utils = {
      initUser: /* ... */
    };
    
  • 临时忽略类型检查(不推荐长期使用)
    若暂时不需要严格类型校验,可在导入语句上方添加注释忽略报错:

    // @ts-ignore
    import { initUser } from '../scripts/utils';
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 20:12:04