Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/onivoro/svelte-adapter-nestjs
https://github.com/onivoro/svelte-adapter-nestjs
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/onivoro/svelte-adapter-nestjs
- Owner: onivoro
- License: mit
- Created: 2022-01-02T02:07:23.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-01-02T03:45:06.000Z (about 3 years ago)
- Last Synced: 2024-08-02T17:35:54.942Z (6 months ago)
- Language: JavaScript
- Size: 772 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-svelte-kit - Nest.js
README
# @sveltejs/adapter-node
[Adapter](https://kit.svelte.dev/docs#adapters) for SvelteKit apps that generates a standalone Node server.
## Usage
Install with `npm i -D @sveltejs/adapter-node@next`, then add the adapter to your `svelte.config.js`:
```js
// svelte.config.js
import adapter from '@sveltejs/adapter-node';export default {
kit: {
adapter: adapter({
// default options are shown
out: 'build',
precompress: false,
env: {
host: 'HOST',
port: 'PORT'
}
})
}
};
```## Options
### out
The directory to build the server to. It defaults to `build` — i.e. `node build` would start the server locally after it has been created.
### precompress
Enables precompressing using gzip and brotli for assets and prerendered pages. It defaults to `false`.
### env
By default, the server will accept connections on `0.0.0.0` using port 3000. These can be customised with the `PORT` and `HOST` environment variables:
```
HOST=127.0.0.1 PORT=4000 node build
```You can specify different environment variables if necessary using the `env` option:
```js
env: {
host: 'MY_HOST_VARIABLE',
port: 'MY_PORT_VARIABLE'
}
``````
MY_HOST_VARIABLE=127.0.0.1 MY_PORT_VARIABLE=4000 node build
```## Custom server
The adapter creates two files in your build directory — `index.js` and `handler.js`. Running `index.js` — e.g. `node build`, if you use the default build directory — will start a server on the configured port.
Alternatively, you can import the `handler.js` file, which exports a handler suitable for use with [Express](https://github.com/expressjs/expressjs.com), [Connect](https://github.com/senchalabs/connect) or [Polka](https://github.com/lukeed/polka) (or even just the built-in [`http.createServer`](https://nodejs.org/dist/latest/docs/api/http.html#httpcreateserveroptions-requestlistener)) and set up your own server:
```js
// my-server.js
import { handler } from './build/handler.js';
import express from 'express';const app = express();
// add a route that lives separately from the SvelteKit app
app.get('/healthcheck', (req, res) => {
res.end('ok');
});// let SvelteKit handle everything else, including serving prerendered pages and static assets
app.use(handler);app.listen(3000, () => {
console.log('listening on port 3000');
});
```## Deploying
You will need the output directory (`build` by default), the project's `package.json`, and the production dependencies in `node_modules` to run the application. Production dependencies can be generated with `npm ci --prod`, you can also skip this step if your app doesn't have any dependencies. You can then start your app with
```bash
node build
```## Changelog
[The Changelog for this package is available on GitHub](https://github.com/sveltejs/kit/blob/master/packages/adapter-node/CHANGELOG.md).
## License
[MIT](LICENSE)