fly63前端网

www.fly63.com

首页文章资源工具教程 栏目
  • 关于我们
  • 网站投稿
  • 赞助一下
搜索

在线工具_工作生活好帮手

打造各种简单、易用、便捷的在线工具,网友无需注册和下载安装即可使用

点击查看

关闭

提交网站

swig
分享
复制链接
新浪微博
QQ 好友

扫一扫分享

GitHub:https://github.com/paularmstrong/swig
网站描述:nodejs前端模板引擎

swig是JS模板引擎,它有如下特点:

  • 支持大多数主流浏览器。
  • 表达式兼容性好。
  • 面向对象的模板继承。
  • 将过滤器和转换应用到模板中的输出。
  • 可根据路劲渲染页面。
  • 支持页面复用。
  • 支持动态页面。
  • 可扩展、可定制。


1、api

swig.init({
    allowErrors: false,
    autoescape: true,
    cache: true,
    encoding: 'utf8',
    filters: {},
    root: '/',
    tags: {},
    extensions: {},
    tzOffset: 0
});

options:

  • allowErrors: 默认值为 false。将所有模板解析和编译错误直接输出到模板。如果为 true,则将引发错误,抛出到 Node.js 进程中,可能会使您的应用程序崩溃。
  • autoescape: 默认true,强烈建议保持。字符转换表请参阅转义过滤器。
    • true: html安全转义
    • false: 不转义,除非使用转义过滤器或者转义标签
    • 'js': js安全转义
  • cache: 更改为 false 将重新编译每个请求的模板的文件。正式环境建议保持true。
  • encoding: 模板文件编码
  • root: 需要搜索模板的目录。如果模板传递给 swig.compileFile 绝对路径(以/开头),Swig不会在模板root中搜索。如果传递一个数组,使用第一个匹配成功的数组项。
  • tzOffset: 设置默认时区偏移量。此设置会使转换日期过滤器会自动的修正相应时区偏移量。
  • filters:自定义过滤器或者重写默认过滤器,参见自定义过滤器指南。
  • tags: 自定义标签或者重写默认标签,参见自定义标签指南。
  • extensions: 添加第三方库,可以在编译模板时使用,参见参见自定义标签指南。


2、nodejs

var tpl = swig.compileFile("path/to/template/file.html");
var renderedHtml = tpl.render({ vars: 'to be inserted in template' });

或者

var tpl = swig.compile("Template string here");
var renderedHtml = tpl({ vars: 'to be inserted in template' });


3、结合Express

npm install express
npm install consolidate

然后

app.engine('.html', cons.swig);
app.set('view engine', 'html');


4、浏览器

Swig浏览器版本的api基本与nodejs版相同,不同点如下:

  • 不能使用swig.compileFile,浏览器没有文件系统
  • 你必须提前使用swig.compile编译好模板
  • 按顺序使用extends, import, and include,同时在swig.compile里使用参数templateKey来查找模板
var template = swig.compile('<p>{% block content %}{% endblock %}</p>', { filename: 'main' });
var mypage = swig.compile('{% extends "main" %}{% block content %}Oh hey there!{% endblock %}', { filename: 'mypage' });


链接: https://fly63.com/nav/1534

more>>
相关栏目
webpack
webpack 是一个模块打包器。它的主要目标是将 JavaScript 文件打包在一起
官网GitHub
npm
javascript 最流行的包管理器
官网GitHub
yarn
可替代NPM的快速、可靠、安全的可信赖包管理工具Yarn
官网GitHub
bower
解决js的依赖管理
官网GitHub
grunt
基于Node.js的项目构建工具。它可以自动运行你所设定的任务
官网GitHub
Parcel
快速,零配置的 Web 应用程序打包器
官网GitHub
babel
Babel 是一个 JavaScript 编译器,可用下一代JavaScript 语法写代码
官网GitHub
browserify
一个浏览器端代码模块化工具,require和module.exports来导入和导出.Browserify的原理:部署时处理代码依赖,将模块打包为一个文件。
官网GitHub
HEAD
一份你可以在 &lt;head&gt; 里设置的列表
官网GitHub
Snibox
一个可自建托管的代码片段管理器
官网GitHub
Flow
Facebook 推出一个静态类型检测工具
官网GitHub
WeFlow
一个高效、强大、跨平台的前端开发工作流工具
官网GitHub
Athena
前端自动化流程构建工具
官网GitHub
Cooking
更易上手的前端构建工具
官网GitHub
vue-cli
一个基于 Vue.js 进行快速开发的完整系统
官网GitHub
Turborepo
一个用于 JavaScript 和 TypeScript monorepos 的高性能构建系统
官网GitHub

手机预览