【发布时间】:2014-03-04 23:30:50
【问题描述】:
我正在使用 Node,并且正在尝试使用通过命令行传入的参数作为字符串。我当前的代码是:
if (process.argv.length > 2) {
var domain = process.argv[DOMAIN_ARGV];
if (domain != null) {
checkdomain(domain);
}
然后我使用 checkDomain(domain) 从域中去除前缀:
// Strip off http, https, and www from domains
domain = domain.replaceAll("(http://|http://www\\.|https://|https://www\\.|www\\.)", "");
但是,域不被视为字符串。相反,域的类型是字符串本身的值。如果我将 example.com 作为我的域传递,我会得到:
user@ubuntu-laptop:~/src$ node lookup.js example.com
/home/user/src/lookup.js:29
domain = domain.replaceAll(
^
TypeError: Object example.com has no method 'replaceAll'
at checkdomain (/home/user/src/lookup.js:29:24)
at lookup (/home/user/src/lookup.js:19:4)
at Object.<anonymous> (/home/user/src/lookup.js:63:2)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3
类型应该是字符串,而不是 example.com(或传入的任何其他参数)。有谁知道这个问题的解决方案吗?
【问题讨论】:
标签: javascript node.js javascript-objects