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 相关文章推荐
jquery中push()的用法(数组添加元素)
Nov 25 Javascript
javascript中的3种继承实现方法
Jan 27 Javascript
基于node实现websocket协议
Apr 25 Javascript
Bootstrap布局组件教程之Bootstrap下拉菜单
Jun 12 Javascript
移动端点击图片放大特效PhotoSwipe.js插件实现
Aug 25 Javascript
jQuery实现弹出带遮罩层的居中浮动窗口效果
Sep 12 Javascript
jquery.form.js异步提交表单详解
Apr 25 jQuery
vue-cli webpack 开发环境跨域详解
May 18 Javascript
详解Node.js中的Async和Await函数
Feb 22 Javascript
100行代码实现一个vue分页组功能
Nov 06 Javascript
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
Mar 06 Javascript
elementui的el-popover修改样式不生效的解决
Jun 30 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
Access数据库导入Mysql的方法之一
2006/10/09 PHP
YII Framework框架教程之日志用法详解
2016/03/14 PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
2016/05/04 PHP
Gird事件机制初级读本
2007/03/10 Javascript
前端开发必须知道的JS之原型和继承
2010/07/06 Javascript
js DOM的学习笔记
2011/12/22 Javascript
用js设置下拉框为只读的小技巧
2014/04/10 Javascript
jQuery绑定事件不执行但alert后可以正常执行
2014/06/03 Javascript
浅谈js的setInterval事件
2014/12/05 Javascript
JavaScript中的数组特性介绍
2014/12/30 Javascript
JavaScript实现选择框按比例拖拉缩放的方法
2015/08/04 Javascript
Javascript获取统一管理的提示语(message)
2016/02/03 Javascript
有关jQuery中parent()和siblings()的小问题
2016/06/01 Javascript
全面解析JS字符串和正则表达式中的match、replace、exec等函数
2016/07/01 Javascript
AngularJS中isolate scope的用法分析
2016/11/22 Javascript
Bootstrap页面标题Page Header的实现方法
2017/03/22 Javascript
JS自动生成动态HTML验证码页面
2017/06/14 Javascript
vue-cli 自定义指令directive 添加验证滑块示例
2017/10/19 Javascript
JavaScript函数绑定用法实例分析
2017/11/14 Javascript
详解Vue中的MVVM原理和实现方法
2020/07/15 Javascript
Vue如何实现变量表达式选择器
2021/02/18 Vue.js
[02:50]【扭转乾坤,只此一招】DOTA2永雾林渊版本开启新篇章
2020/12/22 DOTA
python 生成不重复的随机数的代码
2011/05/15 Python
python使用分治法实现求解最大值的方法
2015/05/12 Python
浅谈python 里面的单下划线与双下划线的区别
2017/12/01 Python
python画一个玫瑰和一个爱心
2020/08/18 Python
在Python中分别打印列表中的每一个元素方法
2018/11/07 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
2019/09/24 Python
详解python 破解网站反爬虫的两种简单方法
2020/02/09 Python
Python enumerate内置库用法解析
2020/02/24 Python
完美解决keras 读取多个hdf5文件进行训练的问题
2020/07/01 Python
HTML5-WebSocket实现聊天室示例
2016/12/15 HTML / CSS
加拿大著名的奢侈品购物网站:SSENSE(支持中文)
2020/06/25 全球购物
大学迎新标语
2014/06/26 职场文书
预备党员考察意见范文
2015/06/01 职场文书
幼儿园教师管理制度
2015/08/05 职场文书