小编Wal*_*rée的帖子

如何卸载npm包?

我已经安装了grunt使用grunt,我无法将其删除.

我试过了:

$ sudo npm uninstall grunt
Run Code Online (Sandbox Code Playgroud)

但它给了警告:

npm WARN uninstall not installed in /home/kuba/projects/node_modules: "grunt-cli"
Run Code Online (Sandbox Code Playgroud)

我也试过rm,删除和取消链接.和sudo npm install grunt选项,它给:

npm WARN uninstall not installed in /usr/lib/node_modules: "grunt"
Run Code Online (Sandbox Code Playgroud)

但我仍然可以WARN从命令行调用.

编辑:

$ whereis grunt
grunt: /usr/local/bin/grunt
$ file /usr/local/bin/grunt
/usr/local/bin/grunt: symbolic link to `../lib/node_modules/grunt/bin/grunt'
$ ls /usr/local/lib/node_modules
grunt jshint
$ ls /usr/lib/node_modules
bower  csslint  devtools-terminal  npm  plato
Run Code Online (Sandbox Code Playgroud)

为什么我有2个目录与npm?删除它是否安全?

uninstall npm gruntjs

59
推荐指数
2
解决办法
9万
查看次数

如何对反应组分的方法进行单元测试?

我正在尝试对我的reactjs组件进行单元测试:

import React from 'react';
import Modal from 'react-modal';
import store from '../../../store'
import lodash from 'lodash'

export class AddToOrder extends React.Component {
  constructor(props) {
    super(props);
    this.state = {checked: false}
    //debugger
  }
  checkBoxChecked() {
    return true
  }
  render() {
    console.log('testing=this.props.id',this.props.id )
    return (
      <div className="order">
        <label>
          <input
            id={this.props.parent}
            checked={this.checkBoxChecked()}
            onChange={this.addToOrder.bind(this, this.props)}
            type="checkbox"/>
          Add to order
        </label>
      </div>
    )
  }
}

export default AddToOrder;
Run Code Online (Sandbox Code Playgroud)

刚开始我已经在努力断言checkBoxChecked方法:

import React from 'react-native';
import {shallow} from 'enzyme';
import {AddToOrder} from '../app/components/buttons/addtoorder/addtoorder';
import {expect} from 'chai'; …
Run Code Online (Sandbox Code Playgroud)

unit-testing chai reactjs enzyme

49
推荐指数
2
解决办法
4万
查看次数

Nightwatch.js - 使用相同的浏览器会话

我们很乐意采用Nightwatch.js浏览器测试,但我们仍然坚持一个主要的警告:在撰写本文时,Nightwatchjs不支持使用相同的浏览器会话运行不同的测试.简而言之,它意味着:

  • 创建浏览器会话由startSession函数中的lib/index.js中的Nightwatch模块处理;
  • 杀死浏览器将对应于该模块的终止功能中的动作队列中的删除命令位置Selenium;
  • 每次测试运行时都会创建一个新的Nightwatch客户端,每次加载不同的测试文件时都会发生这种情况.

根据这个来源,可以在Selenium中重用当前的浏览器会话,而不是打开一个新窗口.

有没有人设法在Nightwatch中解决这个问题?

这是Github上的功能请求,该请求于2014年3月31日被请求,仍然是开放的.

另一种方法是通过让Nightwatch将所有不同的文件合并到一个测试套件中来完全解决问题,但这似乎比会话的问题更难解决......

selenium nightwatch.js

18
推荐指数
1
解决办法
2875
查看次数

跟踪Google Analytics中的所有出站链接

我已经使用脚本来跟踪几个月的出站链接了.该脚本为WORKS,但在Google Analytics生成的报告中,许多网址末尾都有一个尾随":80"(默认端口号).请阅读以获得更多详情.

可能很重要的是,跟踪这些出站链接的网站有大量的出站流量(将您的幻想乘以∞).

脚本的目的

它会跟踪所有出站链接,并将其标记为Google Analytics中的"出站链接".

该脚本有很多注释,并有一些console.log()实例来帮助调试(这些实例被注释掉).

GA上的"出站链接"显示在下面:

内容>活动>热门活动>"出站链接"[点击它]> [报告显示所有点击的网址]

问题

在"出站链接"报告中,我获得了所有点击的链接,在报告的所有链接中至少有2/3结束时得到":80"(可能更多).GA将http://example.comhttp://example.com:80视为不同的链接,在报告中将它们分开.这当然不是所希望的.

值得一提:

以":80"结尾的链接总是比不具有":80"的等价物具有更多的点击量,任何点击量都会增加40%到60%.

想要的解决方案

  • 将以":80"结尾的链接与没有它的链接合并,或者
  • 如果可能,请避免将":80"附加到链接.
  • 奖励:了解为什么我们得到以":80"结尾的链接.

剧本

// Outbound Link Tracking with Google Analytics
// Requires jQuery 1.7 or higher (use .live if using a lower version)
$(function() {
    $("a").on('click',function(e){
        var url = $(this).attr("href");
        // Console logs shows the domain name of the link being clicked and the current window
        // console.log('e.currentTarget.host: ' + e.currentTarget.host);
        // console.log('window.location.host: ' + window.location.host);
        // …
Run Code Online (Sandbox Code Playgroud)

javascript jquery google-analytics outbound

17
推荐指数
2
解决办法
1万
查看次数

删除或编辑未按下的Git标记

在我们公司,我们使用Git标签来触发生产构建.我刚刚在本地创建了一个标签

git tag -m "Tag message"
Run Code Online (Sandbox Code Playgroud)

但是我意识到我犯了一个拼写错误,如果我共享标签(将其推送到远程),将会破坏生产版本.

我可以删除或修改标签,因为我可以使用提交吗?我还没有将标签推送到远程存储库.

git git-tag

7
推荐指数
1
解决办法
3248
查看次数

如何正确覆盖box-shadow bootstrap mixin?

这是代码:

<ul>
    <li></li>
    <li></li>
    <ul>
        <li></li>
        <li></li>
    </ul>
</ul>
Run Code Online (Sandbox Code Playgroud)

这是LESS风格:

ul li { .box-shadow(0 1px 3px rgba(0,0,0,.25)); }
Run Code Online (Sandbox Code Playgroud)

我想覆盖/取消子列表中的mixin,所以我尝试了这个:

ul ul li { .box-shadow(none); }
Run Code Online (Sandbox Code Playgroud)

......但它没有用.我让它工作的唯一方法是明确覆盖mixin上的每一行:

ul ul li { 
          -webkit-box-shadow: none;
             -moz-box-shadow: none;
                  box-shadow: none;
         }
Run Code Online (Sandbox Code Playgroud)

所以有 ul ul li { .box-shadow(none); }什么不对吗?

mixins less twitter-bootstrap

5
推荐指数
2
解决办法
1万
查看次数

查找图像列表的中位数

如果我有一个由3D ndarray表示的图像列表,例如[[x,y,color],...],我可以使用哪些操作来输出值为所有值的中值的图像?我正在使用for循环,发现它太慢了.

opencv numpy image image-processing python-2.7

5
推荐指数
2
解决办法
2433
查看次数

如何编辑/修改Git中最后一个提交的提交消息?

SO中这个流行的答案所示,当我需要编辑/更正最后一次提交的消息时,我这样做:

git commit --amend -m "New commit message"
Run Code Online (Sandbox Code Playgroud)

但是当我想修改最后一次提交之前的提交时,我该怎么做?例如,第14次最后一次提交 - 还考虑到提交尚未被推送到远程?

有没有办法在不重置以前的提交的情况下执行此操作?请问rebase在这种情况下,做正确的事?

git

2
推荐指数
1
解决办法
156
查看次数

动态分组或过滤数组中共享给定属性名称和值的对象

我想array loop根据内容中的对象的属性名称和值迭代并执行一些操作array.

array从一个很"平"检索JSON文件,即集合git几个提交日志git库(解析,JSONbash通过这个项目).

我想做的一些事情是:

  • 按时间戳排序提交.
  • 存储库过滤它们,然后对数据执行操作.
  • 通过author_email过滤它们,然后对数据进行处理.
  • 以递归方式计算对每个存储库的影响.

但我最感兴趣的是如何不指定任何显式值的情况下选择/分组/过滤所有共享特定属性值的提交(如repositoryauthor_emaildate_day_week)?

我已手动完成(请参阅下面代码块中从下到上的第7行):

// == request and parse JSON data == //
// define data source
var data_source = "src/json/data.json";
// request the data
var xhr = new XMLHttpRequest();
xhr.open("GET", data_source);
xhr.onreadystatechange = function () {
    if (this.readyState …
Run Code Online (Sandbox Code Playgroud)

javascript arrays

0
推荐指数
1
解决办法
2212
查看次数