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 相关文章推荐
XENON基于JSON变种
Jul 27 Javascript
jQuery EasyUI API 中文文档 - PropertyGrid属性表格
Nov 18 Javascript
JavaScript实现GriwView单列全选(自写代码)
May 13 Javascript
js传参数受特殊字符影响错误的解决方法
Oct 21 Javascript
js截取小数点后几位的写法
Nov 14 Javascript
jQuery 追加元素的方法如append、prepend、before
Jan 16 Javascript
基于jquery animate操作css样式属性小结
Nov 27 Javascript
原生javascript实现解析XML文档与字符串
Mar 01 Javascript
jQuery实现搜索页面关键字的功能
Feb 16 Javascript
js原生代码实现轮播图的实例讲解
Jul 28 Javascript
require.js 加载过程与使用方法介绍
Oct 30 Javascript
微信小程序图片加载失败时替换为默认图片的方法
Dec 09 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 at(@)符号的用法简介
2009/07/11 PHP
Windows下部署Apache+PHP+MySQL运行环境实战
2012/08/31 PHP
PHP生成sitemap.xml地图函数
2013/11/13 PHP
php获取从百度搜索进入网站的关键词的详细代码
2014/01/08 PHP
php批量删除cookie的简单实现方法
2015/01/26 PHP
php 如何设置一个严格控制过期时间的session
2017/05/05 PHP
phpstorm 配置xdebug的示例代码
2019/03/31 PHP
Js 随机数产生6位数字
2010/05/13 Javascript
javascript 伪数组实现方法
2010/10/11 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
网站接入QQ登录的两种方法
2014/07/22 Javascript
jQuery使用post方法提交数据实例
2015/03/25 Javascript
node.js入门实例helloworld详解
2015/12/23 Javascript
Nodejs如何复制文件
2016/03/09 NodeJs
浅谈如何实现easyui的datebox格式化
2016/06/12 Javascript
Vue-Router进阶之滚动行为详解
2017/09/13 Javascript
vue router嵌套路由在history模式下刷新无法渲染页面问题的解决方法
2018/01/25 Javascript
JS实现的简单下拉框联动功能示例
2018/05/11 Javascript
three.js实现圆柱体
2018/12/30 Javascript
javascript异步编程的六种方式总结
2019/05/17 Javascript
Vue退出登录时清空缓存的实现
2019/11/12 Javascript
JS实现移动端可折叠导航菜单(现代都市风)
2020/07/07 Javascript
JavaScript文档加载模式以及元素获取
2020/07/28 Javascript
[46:44]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
Python深入06——python的内存管理详解
2016/12/07 Python
python 文件操作删除某行的实例
2017/09/04 Python
django输出html内容的实例
2018/05/27 Python
python scp 批量同步文件的实现方法
2019/01/03 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
2019/01/14 Python
Python 脚本拉取 Docker 镜像问题
2019/11/10 Python
Python requests模块基础使用方法实例及高级应用(自动登陆,抓取网页源码)实例详解
2020/02/14 Python
python 基于DDT实现数据驱动测试
2021/02/18 Python
忠诚教育心得体会
2014/09/03 职场文书
公务员上班玩游戏检讨书
2014/09/17 职场文书
sqlserver2017共享功能目录路径不可改的解决方法
2021/04/16 SQL Server