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 相关文章推荐
&amp;lt;script defer&amp;gt; defer 是什么意思
May 10 Javascript
表单切换,用回车键替换Tab健(不支持IE)
Jul 20 Javascript
使用js简单实现了tree树菜单
Nov 20 Javascript
JavaScript弹出新窗口并控制窗口移动到指定位置的方法
Apr 06 Javascript
JS获取当前页面名称的简单实例
Aug 19 Javascript
基于Vue2的移动端开发环境搭建详解
Nov 03 Javascript
jQuery实现表单动态加减、ajax表单提交功能
Jun 08 jQuery
详解VUE自定义组件中用.sync修饰符与v-model的区别
Jun 26 Javascript
JavaScript设计模式之装饰者模式实例详解
Jan 17 Javascript
Vue 处理表单input单行文本框的实例代码
May 09 Javascript
JavaScript解析JSON数据示例
Jul 16 Javascript
es6函数之箭头函数用法实例详解
Apr 25 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
php自定义函数之递归删除文件及目录
2010/08/08 PHP
解析PHP中的file_get_contents获取远程页面乱码的问题
2013/06/25 PHP
PHP实现基本留言板功能原理与步骤详解
2020/03/26 PHP
让你的PHP,APACHE,NGINX支持大文件上传
2021/03/09 PHP
IE6不能修改NAME问题的解决方法
2010/09/03 Javascript
script的async属性以非阻塞的模式加载脚本
2013/01/15 Javascript
javascript中直接写php代码的方法
2013/07/31 Javascript
jQuery 中$(this).index与$.each的使用指南
2014/11/20 Javascript
js完美解决IE6不支持position:fixed的bug
2015/04/24 Javascript
在Javascript中处理数组之toSource()方法的使用
2015/06/09 Javascript
如何用js实现鼠标向上滚动时浮动导航
2016/07/18 Javascript
jQuery.ajax实现根据不同的Content-Type做出不同的响应
2016/11/03 Javascript
bootstrap实现动态进度条效果
2017/03/08 Javascript
Vue监听数据对象变化源码
2017/03/09 Javascript
详解vue.js2.0父组件点击触发子组件方法
2017/05/10 Javascript
js数组去重的N种方法(小结)
2018/06/07 Javascript
vue slots 组件的组合/分发实例
2018/09/06 Javascript
JavaScript之解构赋值的理解
2019/01/30 Javascript
[38:27]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第二场 11.26
2020/11/30 DOTA
python中的字典操作及字典函数
2018/01/03 Python
Python实现PS图像调整之对比度调整功能示例
2018/01/26 Python
python性能测量工具cProfile使用解析
2019/09/26 Python
python 实现方阵的对角线遍历示例
2019/11/29 Python
python二分法查找算法实现方法【递归与非递归】
2019/12/06 Python
Python正则表达式急速入门(小结)
2019/12/16 Python
Python自动化操作实现图例绘制
2020/07/09 Python
中国综合网上购物商城:苏宁易购
2016/08/09 全球购物
彼得罗夫美国官网:Peter Thomas Roth美国(青瓜面膜)
2017/11/05 全球购物
乐天旅游香港网站:日本饭店预订
2017/11/29 全球购物
加拿大快时尚零售商:Ardene
2018/02/14 全球购物
亚洲最大的眼镜批发商和零售商之一:Glasseslit
2018/10/08 全球购物
在线购买澳大利亚设计师手拿包和奢华晚装手袋:Olga Berg
2019/03/20 全球购物
初中升旗仪式演讲稿
2014/05/08 职场文书
RestTemplate如何通过HTTP Basic Auth认证示例说明
2022/03/17 Java/Android
golang实现浏览器导出excel文件功能
2022/03/25 Golang
MyBatis核心源码深度剖析SQL语句执行过程
2022/05/20 Java/Android