首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >sveltekit构建端口总是3000,但在我的服务器中是不可用的。如何在svelte.config.js中更改端口?

sveltekit构建端口总是3000,但在我的服务器中是不可用的。如何在svelte.config.js中更改端口?
EN

Stack Overflow用户
提问于 2022-02-20 17:56:19
回答 3查看 2.1K关注 0票数 0

端口3000被占用在我的主机服务器。现在我正在开发一个sveltekit应用程序。当我用

代码语言:javascript
运行
复制
npm run dev --port 4000

或者npm运行构建,然后

代码语言:javascript
运行
复制
npm run preview --port 4000

我可以使用localhost:4000启动sveltekit

我的npm运行构建总是指向我

代码语言:javascript
运行
复制
   skapp@0.0.1 preview
> svelte-kit preview


  SvelteKit v1.0.0-next.260

  network: not exposed
  local:   http://localhost:3000

在搜索在线之后,一些在线可用的解决方案是更改适配器-节点配置env中的端口,如下所示:

代码语言:javascript
运行
复制
const config = {
    kit: {
        adapter: adapter({
            out : 'buildit',
             env : {
                port : 4000,
             }

            // vite : {
            //  server : {strictPort : false}
            // }

        }),         
    }
};    
export default config;

我再次返回并构建sveltekit,然后再次运行命令npm运行预览,如下所示:

代码语言:javascript
运行
复制
npm run build
   npm run preview

但是它给了我同样的3000端口。网上的一些讨论指向vite标志,您将strictPort设置为false,它将查找下一个可用端口,但这并没有改变端口,构建仍然停留在端口3000上。

当我使用npm运行构建端口4000时,当另一个应用程序运行在端口3000上时,我会得到一个错误。

代码语言:javascript
运行
复制
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应用程序?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-02-22 21:11:39

svelte-kit devsvelte-kit preview用于开发和调试目的,不应在生产生成中运行。

部署到服务器时,可以运行svelte-kit build来生成最终站点(在您的情况下,应该位于./buildit中)

我不认为您可以静态地指定所使用的端口,但是您可以在使用环境变量启动服务器时提供它。

(我使用的是@sveltejs/适配器节点,因此对于其他适配器来说,这可能有所不同)

代码语言:javascript
运行
复制
PORT=1234 node buildit/index.js

我希望这是你想要的,老实说,我想我不太明白这个问题

票数 6
EN

Stack Overflow用户

发布于 2022-08-23 14:45:12

更改在构建文件夹中创建的index.js底部提到的端口.

票数 0
EN

Stack Overflow用户

发布于 2022-11-23 06:31:30

在"npm运行构建“之后,您可以更改build\index.js文件(第218行)中的默认端口3000。

const port =env(“港口”,!path && env;3000);

->

const port = env('PORT',!path && '1234');

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71197171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档