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 相关文章推荐
列表内容的选择
Jun 30 Javascript
jquery.ui.draggable中文文档(原文翻译)
Nov 15 Javascript
JS不间断向上滚动效果代码
Dec 25 Javascript
原生javascript实现图片按钮切换
Jan 12 Javascript
JS定时器使用,定时定点,固定时刻,循环执行详解
May 31 Javascript
bootstrap是什么_动力节点Java学院整理
Jul 14 Javascript
react-native-video实现视频全屏播放的方法
Mar 19 Javascript
Vue-component全局注册实例
Sep 06 Javascript
js getBoundingClientRect使用方法详解
Jul 17 Javascript
mpvue实现小程序签到金币掉落动画(api实现)
Oct 17 Javascript
微信小程序实现拨打电话功能的示例代码
Jun 28 Javascript
element-ui中dialog弹窗关闭按钮失效的解决
Sep 22 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
优化NFR之一 --MSSQL Hello Buffer Overflow
2006/10/09 PHP
php5编程中的异常处理详细方法介绍
2008/07/29 PHP
PHP 数组教程 定义数组
2009/10/23 PHP
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
2012/02/05 PHP
php ci框架验证码实例分析
2013/06/26 PHP
js和php邮箱地址验证的实现方法
2014/01/09 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
2015/01/13 PHP
PHP6新特性分析
2016/03/03 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
Laravel中正确地返回HTTP状态码方法示例
2019/09/10 PHP
JavaScript 私有成员分析
2009/01/13 Javascript
javascript 得到变量类型的函数
2010/05/19 Javascript
理解Javascript_13_执行模型详解
2010/10/20 Javascript
JavaScript 用cloneNode方法克隆节点的代码
2012/10/15 Javascript
jQuery中extend()和fn.extend()方法详解
2015/06/03 Javascript
BootStrap table表格插件自适应固定表头(超好用)
2016/08/24 Javascript
原生js封装运动框架的示例讲解
2017/10/01 Javascript
JavaScript实现多叉树的递归遍历和非递归遍历算法操作示例
2018/02/08 Javascript
javascript显示动态时间的方法汇总
2018/07/06 Javascript
JavaScript事件发布/订阅模式原理与用法分析
2018/08/21 Javascript
KOA+egg.js集成kafka消息队列的示例
2018/11/09 Javascript
Vue路由之JWT身份认证的实现方法
2019/08/26 Javascript
Vue.js数字输入框组件使用方法详解
2019/10/19 Javascript
js实现限定范围拖拽的示例
2020/10/26 Javascript
python操作xml文件示例
2014/04/07 Python
Python深入学习之对象的属性
2014/08/31 Python
Python遍历zip文件输出名称时出现乱码问题的解决方法
2015/04/08 Python
如何使用python爬取csdn博客访问量
2016/02/14 Python
信号量和自旋锁的区别?如何选择使用?
2015/09/08 面试题
车间副主任岗位职责
2013/12/24 职场文书
优秀志愿者事迹材料
2014/02/03 职场文书
公司晚会主持词
2014/03/22 职场文书
在职证明范本
2015/06/15 职场文书
房地产置业顾问工作总结
2015/10/23 职场文书
JS异步堆栈追踪之为什么await胜过Promise
2021/04/28 Javascript
Nginx反向代理至go-fastdfs案例讲解
2021/08/02 Servers