This build plugin implements Angular Support on Netlify.
- Installation and Configuration
- Accessing
Request
andContext
during Server-Side Rendering - CLI Usage
- Getting Help
- Contributing
- License
Netlify automatically detects Angular projects and sets up the latest version of this plugin. There's no further configuration needed from Netlify users.
If you need to pin down this plugin to a fixed version, install it manually.
Create a netlify.toml
in the root of your project. Your file should include the plugins section below:
[[plugins]]
package = "@netlify/angular-runtime"
Install it via your package manager:
npm install -D @netlify/angular-runtime
# or
yarn add -D @netlify/angular-runtime
Read more about file-based plugin installation in our docs.
During server-side rendering (SSR), you can access the incoming Request
object and the Netlify-specific Context
object via providers:
import type { Context } from "@netlify/edge-functions"
export class FooComponent {
constructor(
// ...
@Inject('netlify.request') @Optional() request?: Request,
@Inject('netlify.context') @Optional() context?: Context,
) {
console.log(`Rendering Foo for path ${request?.url} from location ${context?.geo?.city}`)
// ...
}
}
Keep in mind that these will not be available on the client-side or during prerendering.
To test this in local development, run your Angular project using netlify serve
:
netlify serve
- The
server.ts
file that's part of the Angular scaffolding is meant for deploying to a VM, and is not compatible with this Netlify build plugin. If you applied changes to that file, you'll need to replicate them in an Edge Function. See (#135)[#135] for an example.
To use the Angular Runtime while building and deploying with the CLI, you need to have netlify-cli v17.0.0
installed (or a later version).
Please also make sure to use ntl deploy --build
(rather than ntl build && ntl deploy
).
We love to hear from you so if you have questions, comments or find a bug in the project, let us know! You can either:
- Open an issue on this repository
- Tweet at us! We're @Netlify on Twitter
- Or, join the community forums
We welcome contributions ❤️ - see the CONTRIBUTING.md file for details.
This project is licensed under the MIT License - see the LICENSE.md file for details