需要URL模板占位符查找和替换功能的输入
Need input for URL Template placeholder find and replace function
用于查找和替换URL模板中占位符的代码,如下所示
类似{cookies:partnumber}
的URL占位符
输入
var url = 'http://localhost:3000/product/{cookies:partnumber}/user/{users:userId}';
输出
http://localhost:3000/product/100/user/99
Node.js代码
'use strict';
var _ = require('lodash');
var url = 'http://localhost:3000/product/{cookies:partnumber}/user/{users:userId}';
function parameters(){}
parameters.prototype.getCookies = function(key) {
return '100';
};
parameters.prototype.getUsers = function(key) {
return '99';
};
var splitURL = url.split('/');
_.map(splitURL,function(obj, index){
if(obj.match(/{*}/)){
var k = obj.split(':');
var fn = 'get'
.concat(k[0]
.substring(1)
.toString()
.charAt(0)
.toUpperCase()
.concat(k[0]
.slice(2)
)
).trim();
var key = k[1].substring(0,k[1].length-1);
var p = new parameters();
if (fn in p && typeof p[fn] === "function") {
splitURL[index] = p[fn](key);
}
}
});
console.log(splitURL.join('/'));
请建议,如果有任何其他方式来实现相同和优化的代码。
既然您已经在使用lodash了,为什么不使用_.template
呢?
相关文章:
- 如何替换导出功能中的IIFE
- 需要URL模板占位符查找和替换功能的输入
- 对于如何在没有modernizr的情况下用边界半径的功能检测检查来替换我的旧浏览器检查
- 修复了如何在容器中查找和替换字符串的功能
- JS添加到功能而不是替换为原型
- 如何在CkEditor的替换功能中禁用插件
- 是否有任何功能可以合并两个JSON数据集并替换旧信息?(节点.JS)
- 将“with”替换为即时功能
- javascript 或 PHP 来执行搜索和替换功能
- JavaScript的替换功能不起作用
- 替换功能内的异步加载
- 为什么我的批量替换功能不起作用
- 如何优化ace编辑器的替换功能
- 如何使用延迟执行foreach来执行搜索和替换功能.与延迟
- 特殊字符替换功能
- 为什么替换功能不能正常工作
- 我可以在文本的第二部分中使用regexp表达式的一部分吗?替换功能
- 内容替换功能:用下划线替换空格
- 内容替换功能
- jQuery用替换功能替换背景图像