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

SvelteKit部署Phusion Passenger遇ES6导入错误,如何改为.mjs输出?

如何在Plesk(Phusion Passenger)上运行SvelteKit应用?

报错信息

app.js被视为ES模块文件,因为它是一个.js文件,其最近的父级package.json包含"type": "module",该声明将此包范围内的所有.js文件视为ES模块。
请将app.js重命名为以.cjs结尾,修改引用代码以使用动态import()(所有CommonJS模块均支持该方式),或在/usr/home/michael/domains/michael.usermd.net/public_nodejs/package.json中将"type": "module"改为"type": "commonjs",将所有.js文件视为CommonJS(改用.mjs存放所有ES模块)。

已尝试的操作

  • 在package.json中切换type: module和type: commonjs:能让app.js运行,但Vite构建的所有含import语句的文件都需要是.mjs格式
  • 手动将.js文件改为.mjs:import可正常工作,但无法对所有构建文件手动修改
  • 尝试在vite.config.js中配置Rollup输出.mjs后缀,代码如下,但执行vite build时收到警告,提示该设置会被SvelteKit覆盖
export default defineConfig({
  build: {
    rollupOptions: {
      output: {
        entryFileNames: `[name].[hash].mjs`,
        chunkFileNames: `[name].[hash].mjs`,
      },
    },
  },
});

当前限制

  • 受主机服务商配置限制,无法将app.js改为app.cjs,也无法访问Passengerfile.json进行相关设置
  • 未找到在svelte.config.js中配置Rollup输出后缀的相关文档或方案

问题

是否有解决方法或建议?是否只能更换主机服务商来更便捷地运行SvelteKit应用?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 02:10:09