在Windows 7上,我按照此处的说明安装了gulp:http://markgoodyear.com/2014/01/getting-started-with-gulp/:
npm install gulp -gnpm install gulp --save-devgulpfile.js文件.但是,当我尝试运行时gulp,我收到此错误消息:
module.js:340
throw err;
^
Error: cannot file module 'gulp-util'
at Function.Module._resolveFilename (module.js:338:15)
Run Code Online (Sandbox Code Playgroud)
等等
但是gulp-util存在(在本地app文件夹中):
node_modules
gulp
node_modules
gulp-util
Run Code Online (Sandbox Code Playgroud)
知道可能是什么原因?
在PHP中,我需要一个函数来从URL转换查询字符串,比如说:http://example.com?key1=value1&key2=value2成为一个PHP关联数组:array ['key1' => 'value1', 'key2' => 'value2'].
我已经达到了这段代码.它有效,但我发现它有点冗长.(并且PHP内置了所有功能:我很惊讶我没有发现任何开箱即用的东西,就像反过来一样http_build_query.)
你能建议一个更好的方法吗?
function getUrlParams($url) {
$querystring = parse_url($url, PHP_URL_QUERY);
$a = explode("&", $querystring);
if (!(count($a) == 1 && $a[0] == "")) {
foreach ($a as $key => $value) {
$b = explode("=", $value);
$a[$b[0]] = $b[1];
unset ($a[$key]);
}
return $a;
} else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud) 对于Ajax应用程序,我反复使用jQuery的html()方法来更新DOM容器(覆盖HTML内容,然后将元素绑定到事件侦听器).
附加到被破坏内容的事件侦听器是否被jQuery正确删除,或者存在内存泄漏的风险?(这里已经有一些相关问题,但我找不到答案).
我试图在一行显示:
是否可以使用最少的标记(即没有包装元素)并且无需设置精确的高度,线高,边距顶部等.
<div id="block1">
<h1>What a great title</h1>
<a href="javascript:void(0)">This link can kill you</a>
<a href="javascript:void(0)">Click if you dare</a>
</div>
Run Code Online (Sandbox Code Playgroud)
这里的小提示显示我觉得两个不兼容的方向(内联块,你不能正确对齐右浮动,你不能垂直对齐):http: //jsfiddle.net/GlauberRocha/bUsvX/
任何的想法?
我需要设置一个 Polka(或 Express)服务器,以便它可以从单个server.js入口点为多个应用程序(每个主机名一个)提供服务。可以使用vhost中间件 ( https://github.com/expressjs/vhost )来完成。每个app都作为一个中间件导出,在server.js的中间件链中添加了每个请求对应的那个。
但是,这些应用程序中的一些(不是全部)将是 Sapper 应用程序,因此设置必须与 Sapper 兼容。据我所知,Sapper 构建会生成一个server.js文件,该文件用作应用程序的入口点,但不会导出该应用程序。是否有导出 Sapper 应用程序的构建选项(而不是listen对其进行操作)?或者其他一些方法来做到这一点?
我尝试手动编辑构建并且它似乎可以工作,尽管文件路径存在一些问题,因为 Sapper 应用程序的根目录不是主应用程序的根目录。
我查了这个问题,但没有找到任何参考,所以我想知道我是否走错了路,是否有更明显的解决方案。(注意:我使用的 Node.js 托管不允许将主机名映射到应用程序文件夹,这当然会使事情变得更简单。)
我是Python的新手,我想开始用它构建Web页面(但不使用Web框架或模板模块).最低要求是什么?你能建议一个简单的设置吗?
谢谢!
编辑:我不是不惜一切代价都是极简主义者.我正在寻找的是一个简单,通用的解决方案,与语言保持接近(并没有强加设计范例,例如MVC).
这是一个相当普遍的问题.功能样式编程促进了程序关于通过函数转换数据的想法,并且应该避免突变(除了可能在函数内,被视为抽象的基本单元).
但在这个计划中:
function foo (bar) {
bar.k1 = "bananas";
return bar;
}
var o = { k1: "apples", k2: "oranges"};
var p = foo(o);
Run Code Online (Sandbox Code Playgroud)
外部变量o在foo中发生变异,因为bar是对o的引用,最后,o === p(它们引用同一个对象).但功能范式宁愿将p视为新数据.
显而易见的解决方案是克隆参数(例如使用下划线/ lodash _.clone):
function foo (_bar) {
var bar = _.clone(_bar);
bar.k1 = "bananas";
return bar;
}
Run Code Online (Sandbox Code Playgroud)
但我想知道这是否是思考这个问题的正确方法.在FP视角中,如果它们将被突变,你会认为克隆作为参数传递的对象是一个好习惯吗?(我知道并非所有对象都可以轻松克隆,如果有的话,但让我们坚持简单的情况).你的意见?
在下面的函数中,当条件失败时,我希望将这种情况作为简单错误进行处理(不需要详细信息)。只是出于好奇,这样写可以吗?安全吗throw undefined?
function splitYearMonth (YM) { // Returns ["yyyy-mm", yyyy, mm]
try {
var o = YM.match(/^(\d{4})\-(0[1-9]|1[012])$/);
if (o != null) {
return [o[0], parseInt(o[1], 10), parseInt(o[2], 10)];
} else {
throw undefined;
}
} catch (e) {
return [undefined, undefined, undefined];
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试扩展DOMDocument类,以便更轻松地选择XPath.我写了这段代码:
class myDOMDocument extends DOMDocument {
function selectNodes($xpath){
$oxpath = new DOMXPath($this);
return $oxpath->query($xpath);
}
function selectSingleNode($xpath){
return $this->selectNodes($xpath)->item(0);
}
}
Run Code Online (Sandbox Code Playgroud)
这些方法分别返回DOMNodeList和DOMNode对象.我现在要做的是为DOMNode对象实现类似的方法.但显然如果我编写一个扩展DOMNode的类(myDOMNode),我将无法在myDOMDocument返回的节点上使用这两个额外的方法,因为它们是DOMNode(而不是myDOMNode)对象.
我是对象编程的初学者,我尝试了各种各样的想法,但它们都导致了死胡同.
任何提示?非常感谢提前.
我有一个RethinkDB表,其中的文档看起来像这样:
[
{ "date": Mon Oct 05 2015 19:30:00 GMT+01:00, "category": 1, "name": "Alice" },
{ "date": Wed Oct 07 2015 14:00:00 GMT+01:00, "category": 2, "name": "Ben" },
{ "date": Mon Nov 16 2015 12:30:00 GMT+01:00, "category": 1, "name": "Charles" },
{ "date": Sun Nov 01 2015 22:15:00 GMT+01:00, "category": 1, "name": "Donald" }
(...)
]
Run Code Online (Sandbox Code Playgroud)
我正在尝试编写一个查询,以按月/年分组我的数据,然后按类别(在每个组内)分组,然后对子组执行一些聚合.
根据ReQL文档(https://www.rethinkdb.com/api/javascript/group/)中给出的示例,这将给出第一步:
r.table("seances").group([r.row("date").month(), r.row("date").year()])
Run Code Online (Sandbox Code Playgroud)
我被困在这里 链接与group(r.row("category"))给出错误消息(无法调用group输出group).ungroup在第二个之前调用group也不起作用.
知道如何做到这一点?(ReQL看起来非常强大,但与我习惯使用的lodash完全不同......).