我使用 Skeleton UI 编写了一个简单的 Sveltekit 应用程序。我使用 npm run build 创建了构建文件夹。
如果我使用 node index.js 通过节点在本地运行它,它工作正常,并且该站点是可访问的。当我创建一个使用 Ubuntu 22.04 运行的新 VPS、安装 Node.js 22.10.0 并使用 Node Index.js 测试应用程序时,我收到此错误:
(node:33314) 警告:要加载 ES 模块,请在中设置 "type": "module" package.json 或使用 .mjs 扩展名。 /www/test/index.js:1 从 './handler.js' 导入 { handler } ; ^^^^^^
语法错误:无法在模块外部使用 import 语句 在wrapSafe(内部/模块/cjs/loader.js:915:16) 在 Module._compile (内部/modules/cjs/loader.js:963:27) 在 Object.Module._extensions..js (内部/模块/cjs/loader.js:1027:10) 在 Module.load (内部/modules/cjs/loader.js:863:32) 在 Function.Module._load (内部/modules/cjs/loader.js:708:14) 在 Function.executeUserEntryPoint [作为 runMain] (内部/模块/run_main.js:60:12) 在内部/main/run_main_module.js:17:47
该项目的 package.json 如下所示:
{
"name": "test",
"version": "0.0.1",
"private": true,
"type": "module",
"scripts": {
"dev": "vite dev",
"build": "vite build",
"preview": "vite preview",
"lint": "prettier --check . && eslint .",
"format": "prettier --write ."
},
"devDependencies": {
"@skeletonlabs/skeleton": "2.6.0",
"@skeletonlabs/tw-plugin": "0.3.0",
"@sveltejs/adapter-auto": "^3.0.0",
"@sveltejs/kit": "^2.0.0",
"@sveltejs/vite-plugin-svelte": "^3.0.0",
"@tailwindcss/forms": "0.5.7",
"@tailwindcss/typography": "0.5.10",
"autoprefixer": "10.4.16",
"eslint": "^8.28.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-svelte": "^2.30.0",
"postcss": "8.4.32",
"prettier": "^3.1.1",
"prettier-plugin-svelte": "^3.1.2",
"svelte": "^4.2.7",
"tailwindcss": "3.3.6",
"vite": "^5.0.3",
"vite-plugin-tailwind-purgecss": "0.2.0"
},
"dependencies": {
"@floating-ui/dom": "^1.5.3",
"@prisma/client": "^5.7.0",
"@supabase/ssr": "^0.0.10",
"@supabase/supabase-js": "^2.39.0",
"@sveltejs/adapter-node": "^2.0.2",
"prisma": "^5.7.0"
}
}
和 svelte.config.js:
import adapter from '@sveltejs/adapter-node';
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
/** @type {import('@sveltejs/kit').Config} */
const config = {
extensions: ['.svelte'],
preprocess: [vitePreprocess()],
kit: {
adapter: adapter()
}
};
export default config;
如果有人能把我踢向正确的方向,那就太好了。几周前,它运行得很好,甚至在其他 VPS 上运行的旧项目,在新 VPS 上也会出现相同的错误,即使一切都是一样的。
我还使用演示应用程序创建了一个项目,以确保应用程序中没有任何错误。服务器上出现同样的错误。