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

NextJS 15.0.2编译失败求助:_0_0.call$1 is not a function错误

Next.js 15.0.2生产构建报错_0_0.call$1 is not a function的解决方案
  • 排查SCSS模块语法问题
    先检查file.module.scss里的嵌套规则、mixin调用、自定义函数,Next.js 15的Sass编译链可能对旧语法更敏感。比如有没有用了废弃的Sass函数,或者@include时参数传递错误。可以尝试注释掉部分代码块,逐步定位到引发错误的样式代码。

  • 锁定适配的Sass版本
    即使更新了所有依赖,最新版Sass可能和Next.js 15.0.2存在兼容问题。试试安装指定版本的Sass:

    npm install sass@1.77.8 --save-dev
    

    安装完成后删除node_modules和.next目录,重新执行生产构建。

  • 检查TSX中SCSS模块的使用
    确认file.tsx里的SCSS导入方式正确:

    import styles from './file.module.scss';
    

    避免把样式类名当作函数调用,比如错误写法styles.someClass(),应该是styles.someClass。

  • 临时切换到sass-loader编译
    Next.js 15默认用SWC编译Sass,可能存在bug。可以在next.config.js中配置改用sass-loader:

    /** @type {import('next').NextConfig} */
    const nextConfig = {
      sassOptions: {
        implementation: require('sass'),
      },
      webpack: (config) => {
        config.module.rules.forEach(rule => {
          if (rule.test?.test('.scss') || rule.test?.test('.sass')) {
            rule.use = rule.use?.map(useItem => {
              if (useItem.loader?.includes('swc-loader')) {
                return {
                  loader: 'sass-loader',
                  options: { implementation: require('sass') }
                };
              }
              return useItem;
            });
          }
        });
        return config;
      },
    };
    
    export default nextConfig;
    

    配置后重新构建,若问题解决,说明是SWC编译的问题,可以暂时用这个方案,等待Next.js官方修复。

  • 关闭实验性特性
    如果项目开启了Next.js的实验性App Router特性,尝试关闭这些特性再构建,排查是否是特性冲突导致的编译错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 16:07:10