mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-14 20:37:55 -05:00
6add6d77b4
And add a test. Updates #5764
55 lines
1.8 KiB
Markdown
Executable file
55 lines
1.8 KiB
Markdown
Executable file
---
|
|
title: Babel
|
|
description: Hugo Pipes can process JS files with Babel.
|
|
date: 2019-03-21
|
|
publishdate: 2019-03-21
|
|
lastmod: 2019-03-21
|
|
categories: [asset management]
|
|
keywords: []
|
|
menu:
|
|
docs:
|
|
parent: "pipes"
|
|
weight: 49
|
|
weight: 49
|
|
sections_weight: 49
|
|
draft: false
|
|
---
|
|
|
|
Any JavaScript resource file can be transpiled to another JavaScript version using `resources.Babel` which takes for argument the resource object and an optional dict of options listed below. Babel uses the [babel cli](https://babeljs.io/docs/en/babel-cli).
|
|
|
|
|
|
{{% note %}}
|
|
Hugo Pipe's Babel requires the `@babel/cli` and `@babel/core` JavaScript packages to be installed in the project or globally (`npm install -g @babel/cli @babel/core`) along with any Babel plugin(s) or preset(s) used (e.g., `npm install @babel/preset-env --save-dev`).
|
|
|
|
If you are using the Hugo Snap package, Babel and plugin(s) need to be installed locally within your Hugo site directory, e.g., `npm install @babel/cli @babel/core --save-dev` without the `-g` flag.
|
|
{{% /note %}}
|
|
|
|
### Options
|
|
|
|
config [string]
|
|
: Path to the Babel configuration file. Hugo will, by default, look for a `babel.config.js` in your project. More information on these configuration files can be found here: [babel configuration](https://babeljs.io/docs/en/configuration).
|
|
|
|
minified [bool]
|
|
: Save as much bytes as possible when printing
|
|
|
|
noComments [bool]
|
|
: Write comments to generated output (true by default)
|
|
|
|
compact [bool]
|
|
: Do not include superfluous whitespace characters and line terminators. Defaults to `auto` if not set.
|
|
|
|
verbose [bool]
|
|
: Log everything
|
|
|
|
### Examples
|
|
|
|
```go-html-template
|
|
{{- $transpiled := resources.Get "scripts/main.js" | babel -}}
|
|
```
|
|
|
|
Or with options:
|
|
|
|
```go-html-template
|
|
{{ $opts := dict "noComments" true }}
|
|
{{- $transpiled := resources.Get "scripts/main.js" | babel $opts -}}
|
|
```
|