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

在SvelteKit的+server.ts中使用Node.js path模块报错的问题

解决SvelteKit +server.ts中导入path模块报错的问题

方案1:使用Node.js内置模块的完整导入路径

在SvelteKit(基于Vite)环境中,导入Node.js内置模块需要添加node:前缀,修改代码为:

import path from 'node:path'

const name = path.basename('doc/img/picture.png')

Vite对模块解析有严格要求,node:前缀能明确告知这是Node.js原生内置模块,避免被当作普通npm包解析导致找不到模块的错误。

方案2:配置Vite兼容传统导入方式(不推荐)

如果不想添加前缀,可以在项目根目录的svelte.config.js中修改Vite配置,指定path模块的解析规则:

import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'

export default {
  preprocess: vitePreprocess(),
  kit: {
    vite: {
      resolve: {
        alias: {
          'path': 'path'
        }
      }
    }
  }
}

不过这种方式不如方案1规范,且如果项目部署到边缘运行时(如Cloudflare Workers),可能出现兼容性问题,因此优先推荐方案1。

补充说明

+server.ts属于SvelteKit的服务器端路由,运行在Node.js或兼容的服务器环境,但Vite的模块解析逻辑和传统Express项目不同,必须明确标识Node.js内置模块才能正确解析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 17:35:57