Web前端开发网

fly63.com

首页 资源 工具 文章 教程 栏目
  • 在线搜索
  • 文章标签
  • 广告合作
  • 赞助一下
  • 关于我们
资源推荐
3387游戏盒子
提供热门折扣手游,助你轻松畅玩各种类型的游戏
奇绘馆AI视频
新一代AI视频创作平台
堆友AI
零门槛,多风格AI绘画免费生成,电商海报设计神器
AiPPT
全智能AI一键生成 PPT
扣子Coze
职场AI,就用扣子
我要自学网
免费视频教程,提供全方位软件学习
宝塔服务器面板
简单好用的服务器运维面板
fly63工具箱
简单、易用、便捷的在线工具
Trae
字节跳动推出的 AI原生编程工具
豆包AI
字节跳动旗下 AI 智能助手

资源分类

AI智能 酷站推荐 招聘/兼职 框架/库 模块/管理 移动端UI框架 Web-UI框架 Js插件 Jquery插件 CSS相关 IDE环境 在线工具 图形动效 游戏框架 node相关 调试/测试 在线学习 社区/论坛 博客/团队 前端素材 图标/图库 建站资源 设计/灵感 IT资讯
网站收录 / 问题反馈

swig

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

扫一扫分享

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

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

更多»
热门资源
TypeScript
一种由微软开发的自由和开源的编程语言。它是JavaScript的一个超集
官网
GitHub
Vite
下一代前端开发与构建工具
官网
GitHub
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
Rolldown
Rust 驱动的高性能打包器
官网
GitHub
HEAD
一份你可以在 &lt;head&gt; 里设置的列表
官网
GitHub
类似于swig的资源
swc
用rust编写的网络编译器,babel的替代品
官网
GitHub
Vue Apollo
帮助 Vue.js 项目设置 GraphQL 变得更容易
官网
GitHub
fetch
ajax请求的新写法
官网
GitHub
Nitro
下一代服务器工具包,创建和部署 Web 服务器
官网
GitHub
WinterJS
一个以速度为傲的JavaScript Web服务器运行时
点击进入
GitHub
Snibox
一个可自建托管的代码片段管理器
官网
GitHub
npkill
一个方便的npm 包清理工具
官网
GitHub
elf
灵活可扩展的 HTML5 构建工具
官网
GitHub
目录

手机扫一扫预览

》
分享组件加载中...
首页 技术导航 在线工具 技术文章 教程资源 前端标签 AI工具集 前端库/框架 实用工具箱 广告合作 关于我们

Copyright © 2018 Web前端开发网提供免费在线工具、编程学习资源(教程/框架/库),内容以学习参考为主,助您解决各类实际问题,快速提升专业能力。