node前端开发模板引擎Jade的入门


Posted in Javascript onMay 11, 2018

随着 web 发展,前端应用变得越来越复杂,基于后端的 javascript(Node.js) 也开始崭露头角,此时  javascript 被寄予了更大的期望,与此同时 javascript MVC 思想也开始流行起来。为了使用户界面与业务数据(内容)分离,就产生了『模板引擎』这个概念。

说的简单点,模板引擎就是一个字符串中有几个变量待定,通过模板引擎函数把数据动态的塞进去。

今天我们就来聊一聊 Jade 的使用方法和语法说明。Jade官网:jade-lang.com/

Jade 命令行工具

Jade 的使用需要依赖 Node环境,通过 npm 包进行安装 Jade 命令行工具,安装成功之后就可以新建一个文件,文件后缀名为 *.jade。我们就可以尽情的使用 jade 的语法咯,写完之后只需要通过命令行工具进行编译即可编译为我们平时使用的 html 静态文件。

安装方法

1、首先确定是否安装有 Node 环境和 npm 工具,查看方法如下:

在命令行工具中执行如下代码:

node -v
=> v0.10.35
npm -v
=> 1.4.28
// 如果成功返回版本号信息即为已成功安装 Node 环境。

2、通过 npm 全局安装 Jade 命令行工具

npm install jade -g

// mac用户可能需要管理员权限,使用如下命令
sudo npm install jade -g

3、创建 *.Jade 文件,开始任务。

4、通过使用 Jade 命令行工具将 jade 文件编译为 html 文件

Jade 命令行工具使用方法

我们可以通过 jade --help 查看 Jade 命令行工具的使用参数

jade --help

Usage: jade [options] [dir|file ...]

 Options:

  -h, --help     output usage information / 输出使用信息
  -V, --version   output the version number / 输出版本号信息
  -O, --obj <str>  javascript options object / 传输到 jade 文件中的数据对象
  -o, --out <dir>  output the compiled html to <dir> / 输出编译后的 HTML 到 <dir> 
  -p, --path <path> filename used to resolve includes / 在处理 stdio 时,查找包含文件时的查找路径
  -P, --pretty    compile pretty html output / 格式化编译 html 文件
  -c, --client    compile function for client-side runtime.js / 编译浏览器端可用的 runtime.js
  -n, --name <str>  The name of the compiled template (requires --client) / 编译模板的名字
  -D, --no-debug   compile without debugging (smaller functions) / 关闭编译的调试选项(函数会更小)
  -w, --watch    watch files for changes and automatically re-render / 监听文件改变并自动刷新编译结果
  --name-after-file Name the template after the last section of the file path (requires --client and overriden by --name)
  --doctype <str>  Specify the doctype on the command line (useful if it is not specified by the template) / 在命令行中指定文档类型(如果在模板中没有被指定)

 Examples:

  # 编译整个目录
  $ jade templates

  # 生成 {foo,bar}.html
  $ jade {foo,bar}.jade

  # 在标准IO下使用jade
  $ jade < my.jade > my.html

  # 在标准IO下使用jade
  $ echo 'h1 Jade!' | jade

  # foo, bar 目录渲染到 /tmp
  $ jade foo bar --out /tmp

实例:

// 比如说我们需要编译index.jade文件,默认编译到同文件夹下的同名html 文件中
jade index.jade

// 如果我们要格式化输出 index.html 文件,只需要添加 -P 参数即可
jade -P index.jade

// 如果我们要实现监听和自动编译,需要使用 -w 参数
jade -P -w index.jade

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
理解JavaScript的prototype属性
Feb 11 Javascript
判断数组是否包含某个元素的js函数实现方法
May 19 Javascript
javascript中的深复制详解及实例分析
Dec 29 Javascript
原生js实现简单的Ripple按钮实例代码
Mar 24 Javascript
ES6新特性之函数的扩展实例详解
Apr 01 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
May 13 Javascript
jQuery表单元素过滤选择器用法实例分析
Feb 20 jQuery
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
Apr 04 jQuery
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
Apr 17 Javascript
VUE 解决mode为history页面为空白的问题
Nov 01 Javascript
使用Angular9和TypeScript开发RPG游戏的方法
Mar 25 Javascript
微信小程序中使用vant框架的具体步骤
Feb 18 Javascript
Node.js 使用jade模板引擎的示例
May 11 #Javascript
Node.js Express安装与使用教程
May 11 #Javascript
Node.js创建HTTP文件服务器的使用示例
May 11 #Javascript
Node.js引入UIBootstrap的方法示例
May 11 #Javascript
Node.js使用Angular简单示例
May 11 #Javascript
Node.js 使用AngularJS的方法示例
May 11 #Javascript
Angular使用动态加载组件方法实现Dialog的示例
May 11 #Javascript
You might like
Symfony数据校验方法实例分析
2015/01/26 PHP
PHP使用zlib扩展实现GZIP压缩输出的方法详解
2018/04/09 PHP
在IE中调用javascript打开Excel的代码(downmoon原作)
2007/04/02 Javascript
JQuery Dialog的内存泄露问题解决方法
2010/06/18 Javascript
Extjs中使用extend(js继承) 的代码
2012/03/15 Javascript
Jquery命名冲突解决的五种方案分享
2012/03/16 Javascript
深入理解javascript学习笔记(一) 编写高质量代码
2012/08/09 Javascript
javascript数组去重方法终极总结
2014/06/05 Javascript
javascript简单实现类似QQ头像弹出效果的方法
2015/08/03 Javascript
AngularJS 使用$sce控制代码安全检查
2016/01/05 Javascript
canvas雪花效果核心代码分享
2017/02/19 Javascript
JavaScript 中 apply 、call 的详解
2017/03/21 Javascript
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
javascript 缓冲运动框架的实现
2017/09/29 Javascript
详解webpack4多入口、多页面项目构建案例
2018/05/25 Javascript
详解在微信小程序的JS脚本中使用Promise来优化函数处理
2019/03/06 Javascript
详解node登录接口之密码错误限制次数(含代码)
2019/10/25 Javascript
JS 遍历 json 和 JQuery 遍历json操作完整示例
2019/11/11 jQuery
vue.config.js常用配置详解
2019/11/14 Javascript
微信小程序利用button控制条件标签的变量问题
2020/03/15 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
Python有序字典简单实现方法示例
2017/09/28 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
2018/01/24 Python
浅谈Python Opencv中gamma变换的使用详解
2018/04/02 Python
python 队列基本定义与使用方法【初始化、赋值、判断等】
2019/10/24 Python
使用HTML5 Geolocation实现一个距离追踪器
2018/04/09 HTML / CSS
德国2018年度最佳在线药房:Bodfeld Apotheke
2019/11/04 全球购物
Super-Pharm波兰:药房和香水在一个地方
2020/08/18 全球购物
学前教育毕业生自荐信
2013/10/29 职场文书
护士毕业生自我鉴定
2014/02/08 职场文书
小学生元旦感言
2014/02/26 职场文书
弘扬职业精神演讲稿
2014/03/20 职场文书
大学生如何逃脱“毕业季创业队即散伙”魔咒?
2019/08/19 职场文书
python opencv通过按键采集图片源码
2021/05/20 Python
解决SpringBoot跨域的三种方式
2021/06/26 Java/Android