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

使用@sveltejs/adapter-node执行npm run build时遇Unexpected token错误

Svelte生产构建报错RollupError: Unexpected token的解决思路

执行npm run build时出现以下Rollup错误,开发和预览模式却完全正常:

> Using @sveltejs/adapter-node
error during build:
RollupError: Unexpected token (Note that you need plugins to import files that are not JavaScript)
    at error (file:///Users/marc/Sites/appname.com/node_modules/rollup/dist/es/shared/node-entry.js:2095:30)
    at Module.error (file:///Users/marc/Sites/appname.com/node_modules/rollup/dist/es/shared/node-entry.js:13143:16)
    at Module.tryParse (file:///Users/marc/Sites/appname.com/node_modules/rollup/dist/es/shared/node-entry.js:13820:25)
    at Module.setSource (file:///Users/marc/Sites/appname.com/node_modules/rollup/dist/es/shared/node-entry.js:13430:39)
    at ModuleLoader.addModuleSource (file:///Users/marc/Sites/appname.com/node_modules/rollup/dist/es/shared/node-entry.js:23395:20)

结合你手动更新依赖的情况,以下是具体排查和解决步骤:

  • 定位未被处理的非JS文件
    错误核心是Rollup遇到了无法解析的非JS文件,开发模式下Vite可能默认兼容了这类文件,但生产构建需要显式配置插件。先排查最近新增的依赖或自定义文件,比如runner、webrtc-adapter这类库是否输出非ES模块代码,或是你引入了.txt、.md这类未配置插件处理的静态文件。

  • 修正依赖配置与预处理器
    你把svelte-preprocess放在了dependencies里,它属于开发依赖,先移到devDependencies中。然后确认vite.config.js里正确配置了预处理器:

    import { sveltekit } from '@sveltejs/kit/vite';
    import { defineConfig } from 'vite';
    import preprocess from 'svelte-preprocess';
    
    export default defineConfig({
      plugins: [sveltekit({
        preprocess: preprocess()
      })]
    });
    

    若使用Sass,确保sass依赖安装正常,预处理器已启用Sass支持。

  • 排查依赖版本兼容性
    手动更新的依赖可能存在版本冲突:

    • @sveltejs/kit@1.5.0与vite@4.0.0可能存在适配问题,尝试回退Vite到3.x稳定版(如vite@3.2.7);
    • svelte-fullcalendar@2.0.0-beta.0是测试版,可能未适配生产构建,试试降级到稳定版或查看官方文档的额外配置要求;
    • 冷门包runner若为CommonJS格式,需在Vite配置中添加处理规则:
      export default defineConfig({
        plugins: [sveltekit()],
        optimizeDeps: {
          include: ['runner']
        },
        build: {
          commonjsOptions: {
            include: [/runner/, /node_modules/]
          }
        }
      });
      
  • 清理缓存后重试
    删除node_modules、package-lock.json,重新执行npm install;同时删除.svelte-kit和dist目录,确保构建环境干净后再运行npm run build。

  • 启用详细日志定位具体文件
    修改package.json中的build脚本:

    "build": "vite build --debug"
    

    运行后查看详细日志,找到触发错误的具体文件路径,精准定位问题根源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 00:52:53