• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

sindresorhus/gulp-nunjucks: Precompile Nunjucks templates

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

sindresorhus/gulp-nunjucks

开源软件地址(OpenSource Url):

https://github.com/sindresorhus/gulp-nunjucks

开源编程语言(OpenSource Language):

JavaScript 100.0%

开源软件介绍(OpenSource Introduction):

gulp-nunjucks

Compile/precompile Nunjucks templates

Issues with the output should be reported on the Nunjucks issue tracker.

Install

$ npm install --save-dev gulp-nunjucks

Usage

Compile

const gulp = require('gulp');
const nunjucks = require('gulp-nunjucks');

exports.default = () => (
	gulp.src('templates/greeting.html')
		.pipe(nunjucks.compile({name: 'Sindre'}))
		.pipe(gulp.dest('dist'))
);

You can alternatively use gulp-data to inject the data:

const gulp = require('gulp');
const nunjucks = require('gulp-nunjucks');
const data = require('gulp-data');

exports.default = () => (
	gulp.src('templates/greeting.html')
		.pipe(data(() => ({name: 'Sindre'})))
		.pipe(nunjucks.compile())
		.pipe(gulp.dest('dist'))
);

Precompile

const gulp = require('gulp');
const nunjucks = require('gulp-nunjucks');

exports.default = () => (
	gulp.src('templates/greeting.html')
		.pipe(nunjucks.precompile())
		.pipe(gulp.dest('dist'))
);

API

nunjucks.compile(data?, options?)

Compile a template using the provided data.

data

Type: object

The data object used to populate the text.

options

Type: object

Options will be passed directly to the Nunjucks Environment constructor which will be used to compile templates.

options.env

Type: nunjucks.Environment
Default: new nunjucks.Environment()

The custom Nunjucks Environment object which will be used to compile templates. If supplied, the rest of options will be ignored.

options.filters

Type: object

An object containing custom filters that will be passed to Nunjucks, with the filter's name as key and the filter function as value.

Async filters should be defined as async functions. You cannot use just a promise-returning function.

Example:

{
	'shorten': string => string.slice(0, 5),
	'round': number => Math.round(number),
	'fetch': async url => {
		const response = await fetch(url);
		const result = await response.text();
		return result;
	}
}

nunjucks.precompile(options?)

Precompile a template for rendering dynamically at a later time.

Same options as nunjucks.precompile() except for name.

options

Type: object

name

Type: Function
Default: Relative template path
Example: templates/list.html

You can override the default behavior by supplying a function which gets the current File object and is expected to return the name.

Example:

{
	name: file => `template-${file.relative}`
}



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap