Here are a few features you might find useful. Pug offers a wide range of features but what features you can use depends on how you integrate Pug into your project. With features (such as mixins, text and attribute interpolation, conditionals, iterators, and so on), you can use Pug to solve problems more simply in contrast to writing whole separate components or import dependencies and set up directives to fulfill a requirement.
#Render pug template code#
As you create more templates over time for a project, you end up cumulatively writing less code with Pug.īeyond the functionality provided by the Angular template language, Pug extends what you can achieve in your templates. Although negligible in this small example, you write seven fewer lines in the Pug table than in the HTML table.
This is how that same table looks like in Pug: tableĬomparing the two versions of the table, Pug looks a lot cleaner than HTML and has better code readability.
You are therefore writing and reading a lot less code. With Pug, there are no opening and closing angle brackets and no closing tags. Not only do you have to write more with HTML, but you also have to read more. For most elements you have to have an opening and closing tag which is not DRY.
#Render pug template how to#
In the rest of this article, I’ll walk you through how to use Pug in your Angular component templates. With Pug, your templates become simpler to write and read and you can extend the functionality of your template as an added bonus. In addition to providing a more streamlined way to write templates, it offers a number of valuable features that go beyond just template writing like mixins that facilitate code reusability, enable embedding of JavaScript code, provide iterators, conditionals, and so on.Īlthough HTML is universally used by many and works adequately in templates, it is not DRY and can get pretty difficult to read, write, and maintain especially with larger component templates. In this case, Pug is used to write templates that are compiled into functions that take in data and render HTML documents. This means it’s a tool that generates documents from templates that integrate some specified data. Pug (formerly known as Jade) is a template engine.
#Render pug template install#
You’ll learn how to install Pug in your Angular apps and transition existing apps that use HTML to use Pug. In this article, I’ll cover how you - as an Angular developer - can use Pug to write better templates more efficiently. This is in spite of many more efficient options such as Pug, Slim, HAML among others being in existence. However, when it comes to templates, only two options are available: HTML and SVG. Components provide an amazing means to structure views, facilitate code reusability, interpolation, data binding, and other business logic for views.Īngular CLI supports multiple built-in CSS preprocessor options for component styling like Sass/SCSS, LESS, and Stylus. In this article, Zara Cooper explains what Pug is and how you can use it in your Angular app.Īs a developer, I appreciate how Angular apps are structured and the many options the Angular CLI makes available to configure them. In Angular, you can use Pug to write component templates and improve a project’s development workflow. expressjs.Pug is a template engine that allows you to write cleaner templates with less repetition. To render a view, you don’t need to specify the views directory as Express is using it as the default in your case, so you only need to specify the file path relative to the views directory, which is pug/index.pug, but since the view engine property is set, you don’t need to specify the file extension, so pug/index would be adequate. Since app.set('views', './views') wasn’t explicitly set in the server.js file, Express just uses the views directory in the root of your project. This defaults to the views directory in the application root directory. For example, to use the Pug template engine: app.set('view engine', 'pug').