url模块和underscore模块

一.url模块介绍

  get请求时,用户请求的参数是在request的url属性中,纯字符串,使用起来并不方便,url模块可以更方便地解析用户请求的get参数

  具体使用

  1. 加载模块 var url = require('url');

  2. 调用parse()方法解析

url.parse(urlString[, parseQueryString[, slashesDenoteHost]]);
var urlObj = url.parse(reqUrl, true);

// url对象的pathname属性,获取不包含查询字符串的url
// url对象的query属性中包含的就是请求字符串的键值对对象

 

二.underscore模块介绍

参考描述

1、Underscore is a JavaScript library that provides a whole mess of useful functional programming helpers without extending any built-in objects. 
​
2、Underscore 是一个 JavaScript 工具库,它提供了一整套函数式编程的实用功能,但是没有扩展任何 JavaScript 内置对象。
他解决了这个问题:“如果我面对一个空白的 HTML 页面,并希望立即开始工作,我需要什么?” 他弥补了 jQuery 没有实现的功能,同时又是 Backbone 必不可少的部分。 ​ Underscore 提供了100多个函数,包括常用的:map、filter、invoke — 当然还有更多专业的辅助函数,
如:函数绑定、JavaScript 模板功能、创建快速索引、强类型相等测试等等。

 

模板语法介绍:

  • <%= %>, 中间写表达式

  • <%%>, 中间写语句

参考写法

  • 提示:underscore库建议使用'_'来命名对象,类似于jQuery使用$来命名

// 案例一:
var html = '<h1><%= name %></h1>';
var compiled = _.template(html);
var result = compiled({name: 'aaaa'});
console.log(compiled);
​
​
​
// 案例二:
// 构建模板字符串
var html = '<%for (var i = 0; i < 5; i++) { %><h1><%= name %></h1><% }%>';
​
// 编译模板
var compiled = _.template(html);
​
// 进行模板字符串替换
var result = compiled({name: '张三'});
​
// 输出后的结果
console.log(result);

 

underscore中_.template()函数返回值其实就是一个函数:

function(obj){
  var __t;
  var __p = '';
  var __j = Array.prototype.join,print = function () {
    __p += __j.call(arguments,'');
  };

  with(obj||{}) {
    __p += '<h1>' + ((__t = (name)) == null ? '' : __t) + '</h1>';
  }
  return __p;
}

 

posted @ 2022-04-09 10:48  阿布_alone  阅读(66)  评论(0编辑  收藏  举报
TOP