42

I want to expose my svelte app on LAN using the npm run dev --host command but it shows:

> [email protected] dev
> svelte-kit dev


  SvelteKit v1.0.0-next.295

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

  Use --host to expose server to other devices on this network


4 Answers 4

104

You have to add -- before the actual flag:

npm run dev -- --host

And it should output:

> [email protected] dev
> svelte-kit dev "--host"


  SvelteKit v1.0.0-next.316

  local:   http://localhost:3000
  network: http://***.***.**.**:3000

  Note that all files in the following directories will be accessible to anyone on your network: src/lib, src/routes, .svelte-kit, src, node_modules
2
  • For homestead, have to look at Homestead.yaml and find the right ip. Then you go npm run dev -- --host={The IP From Homestead.yaml} Oct 12, 2022 at 8:15
  • 8
    You could improve this answer by explaining why you need to add '--' . For anyone else who arrives here - stackoverflow.com/questions/43046885/…
    – codecowboy
    May 31, 2023 at 15:51
10

If you use vite in the package.json file, do this on the dev line:

  "scripts": {
    "dev": "vite --host --port 8888",
   .....  what ever else was here.....
  },

if you use sirv, try this in the package.json :

    "start": "sirv public --no-clear --host 0.0.0.0",

If you want a different port try this:

    "start": "sirv public --no-clear --host 0.0.0.0 --port 8888",
1
  • thanks for the help, Adding the line "vite --host --port 8888" in the package.json file actually did the trick for me.
    – damou_ 1
    Aug 25, 2023 at 6:21
4

In vite Two Methods as follows:

Method 1: Manually while running the app by typing this on the terminal

npm run dev -- --host

Method 2: Automatically By replacing the "dev" property line in package.json in the "scripts" object as follows:

"dev": "vite --host --port [PORT NO. YOU WANT TO USE]",

And when you run "npm run dev", it shows the network host address

2

You can add this to your vite.config.js

server: {
        host: true
      }

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.