端口3000被占用在我的主机服务器。现在我正在开发一个sveltekit应用程序。当我用
npm run dev --port 4000
或者npm运行构建,然后
npm run preview --port 4000
我可以使用localhost:4000启动sveltekit
我的npm运行构建总是指向我
skapp@0.0.1 preview
> svelte-kit preview
SvelteKit v1.0.0-next.260
network: not exposed
local: http://localhost:3000
在搜索在线之后,一些在线可用的解决方案是更改适配器-节点配置env中的端口,如下所示:
const config = {
kit: {
adapter: adapter({
out : 'buildit',
env : {
port : 4000,
}
// vite : {
// server : {strictPort : false}
// }
}),
}
};
export default config;
我再次返回并构建sveltekit,然后再次运行命令npm运行预览,如下所示:
npm run build
npm run preview
但是它给了我同样的3000端口。网上的一些讨论指向vite标志,您将strictPort设置为false,它将查找下一个可用端口,但这并没有改变端口,构建仍然停留在端口3000上。
当我使用npm运行构建端口4000时,当另一个应用程序运行在端口3000上时,我会得到一个错误。
Error: listen EADDRINUSE: address already in use 127.0.0.1:3000
at Server.setupListenHandle [as _listen2] (net.js:1318:16)
at listenInCluster (net.js:1366:12)
at GetAddrInfoReqWrap.doListen [as callback] (net.js:1503:7)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:69:8)
Emitted 'error' event on Server instance at:
at emitErrorNT (net.js:1345:8)
at processTicksAndRejections (internal/process/task_queues.js:82:21) {
code: 'EADDRINUSE',
errno: -4091,
syscall: 'listen',
address: '127.0.0.1',
port: 3000
}
它似乎是一个服务器实例错误。怎么修呢?
似乎很少有开发人员对sveltekit感兴趣,因为当我过去发布一个关于sapper的问题时,我过去常常在几个小时内得到一个答案,但我注意到关于sveltekit的问题在几天内就能得到答案。希望有一些开发人员在堆栈溢出的情况下继续关注sveltekit标记。
因此,我的问题是如何更改npm运行构建,以便sveltekit应用程序开始使用不同的端口。我不是问npm运行开发或npm运行预览。我的询盘是关于在4000端口上运行的sveltekit。npm如何使用不同的端口构建sveltekit应用程序?
发布于 2022-02-22 21:11:39
svelte-kit dev
和svelte-kit preview
用于开发和调试目的,不应在生产生成中运行。
部署到服务器时,可以运行svelte-kit build
来生成最终站点(在您的情况下,应该位于./buildit中)
我不认为您可以静态地指定所使用的端口,但是您可以在使用环境变量启动服务器时提供它。
(我使用的是@sveltejs/适配器节点,因此对于其他适配器来说,这可能有所不同)
PORT=1234 node buildit/index.js
我希望这是你想要的,老实说,我想我不太明白这个问题
发布于 2022-08-23 14:45:12
更改在构建文件夹中创建的index.js底部提到的端口.
发布于 2022-11-23 06:31:30
在"npm运行构建“之后,您可以更改build\index.js文件(第218行)中的默认端口3000。
const port =env(“港口”,!path && env;3000);
->
const port = env('PORT',!path && '1234');
https://stackoverflow.com/questions/71197171
复制相似问题