小编Lou*_*uis的帖子

为什么我会收到"错误:解决方法被过度指定"?

升级后,Mocha甚至无法运行这里的简单测试代码

const assert = require('assert');

it('should complete this test', function (done) {
  return new Promise(function (resolve) {
    assert.ok(true);
    resolve();
   })
  .then(done);
});
Run Code Online (Sandbox Code Playgroud)

我从这里拿了这个代码

我明白它现在抛出异常 Error: Resolution method is overspecified. Specify a callback * or * return a Promise; not both.

但是如何让它发挥作用?我不明白.我有

node -v 6.9.4

mocha -v 3.2.0
Run Code Online (Sandbox Code Playgroud)

如何运行此代码现在采用新的正确格式?

mocha.js node.js

32
推荐指数
3
解决办法
8792
查看次数

间歇性的"jqLit​​e不支持通过选择器查找元素!" 使用RequireJS加载AngularJS时

我通过RequireJS加载AngularJS.大多数时候没有问题,但有一段时间我得到错误:

未捕获错误:[jqLit​​e:nosel] jqLit​​e不支持通过选择器查找元素!

我知道一切都在加载,所以问题不在于RequireJS没有找到文件.

这是我的RequireJS配置:

require.config({
 baseUrl: 'lib/',
 paths: {
   jquery: 'external/jquery-2.1.1',
   angular: 'external/angular',
 },
 shim: {
   angular: {
       exports: "angular"
   },
 },
});
Run Code Online (Sandbox Code Playgroud)

以下是我如何加载RequireJS并启动加载:

<script type="text/javascript" src="lib/requirejs/require.js"></script>
<script type="text/javascript" src="requirejs-config.js"></script>
<script>
  require(["start"]);
</script>
Run Code Online (Sandbox Code Playgroud)

我正在使用AngularJS 1.3.0和RequireJS 2.1.15.

javascript requirejs angularjs

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

将React类移动到单独的文件中

完成React教程后,这是我的index.html文件:

<!-- index.html -->
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Hello React</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.3/react.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.3/JSXTransformer.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/marked/0.3.2/marked.min.js"></script>
  </head>
  <body>
    <div id="content"></div>
    <script src="lib/main.js"></script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

这是我的src/main.jsx文件:

var CommentBox = React.createClass({
  getInitialState: function() {
    return {data: []};
  },
  loadCommentsFromServer: function() {
    $.ajax({
      url: this.props.url,
      dataType: 'json',
      cache: false,
      success: function(data) {
        this.setState({data: data});
      }.bind(this),
      error: function(xhr, status, err) {
        console.error(this.props.url, status, err.toString());
      }.bind(this)
    });
  },
  handleCommentSubmit: function(comment) {
    var comments = this.state.data;
    var newComments = …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

28
推荐指数
2
解决办法
3万
查看次数

如何使用自定义AdminSite类?

哪个是实现我自己的最佳方式django.contrib.admin.sites.AdminSite

其实我得到一个问题登记INSTALLED_APPSdjango.contrib.admin.autodiscover.如果我使用自定义AdminSite类urls.py,则管理页面上不会显示任何应用程序.

我用一个小黑客修复了这个问题.我写了这堂课:

from django.contrib.admin.sites import site as default_site

class AdminSiteRegistryFix( object ):
    '''
    This fix links the '_registry' property to the orginal AdminSites
    '_registry' property. This is necessary, because of the character of
    the admins 'autodiscover' function. Otherwise the admin site will say,
    that you havn't permission to edit anything.
    '''

    def _registry_getter(self):
        return default_site._registry

    def _registry_setter(self,value):
        default_site._registry = value

    _registry = property(_registry_getter, _registry_setter)
Run Code Online (Sandbox Code Playgroud)

并实现我的自定义AdminSite,如下所示:

from wltrweb.hacks.django.admin import AdminSiteRegistryFix
from django.contrib.admin …
Run Code Online (Sandbox Code Playgroud)

python django django-admin

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

在节点环境中对jQuery.ajax进行存根(jQuery 2.x)

我正在尝试运行一些需要存根的测试jQuery.ajax.我正在使用SinonJS来做到这一点,它曾经与旧版本的jQuery(1.x)一起使用

var $ = require('jquery');
var sinon = require("sinon");
sinon.stub($, "ajax"); // this worked because $.ajax is defined
Run Code Online (Sandbox Code Playgroud)

但是,在升级到jQuery 2.x之后,当我需要从我的模块运行jquery时,我不得不包含一个窗口环境.我jsdom用来完成这个:

var document = require('jsdom').jsdom(),
    window  = document.parentWindow,
    $       = require('jquery')(window);
Run Code Online (Sandbox Code Playgroud)

问题 $.ajax现在未定义.我怀疑因为现在它返回绑定到特定元素但不完全确定的jQuery对象.有谁知道为什么以及如何解决这个问题?

编辑我的朋友谁没有在SO上指出,如果我们附加window到全局,我们可以得到普通的jquery对象而不是工厂

    global.window = require('jsdom').jsdom().parentWindow;
    var $ = require('jquery'); // this works as $.ajax is now defined
Run Code Online (Sandbox Code Playgroud)

我不喜欢将窗口附加到全局,因为它会影响一些类型检查窗口的插件.不是阻挡者,但我很想知道是否还有其他方法可以解决这个问题.

javascript jquery node.js

22
推荐指数
2
解决办法
1960
查看次数

如何在Node.js中为您的服务器应用程序构建测试?

我开始向Node.js服务器应用程序添加测试,因为我们正在慢慢部署到生产环境中.我有一个API,有许多可能的测试请求.

我的问题是:你如何构建你的测试,所以它不会成为你很快迷路的大文件?

我为一个 API路由编写了测试(我有许多其他API路由要测试),这就是它的外观(在Sublime文件概述中):

代码地狱

而这项测试甚至还没有涵盖所有案例.

我使用mocha,连同shouldexpect进行验证,并superagent为API调用.你将如何构建这些测试,以便它不会在一个可怕的大文件中进化?

testing mocha.js node.js

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

require()必须有一个字符串文字参数React Native

我的应用程序中的组件如果被分配了直接字符串值("someImage.png"),它可以正常工作,但如果我尝试通过将图像名称存储在局部变量中来分配它,则会给出此异常"require()必须具有单个字符串文字参数"此行正常工作

<ImageBackground source={require("./Resources/bg/imageone.png")} resizeMode='cover' style={customStyles.backdrop}>
Run Code Online (Sandbox Code Playgroud)

在这种情况下会出现问题

let imageName = "./Resources/bg/imageone.png";          
<ImageBackground id="123" source={require(imageName)} resizeMode='cover' style={customStyles.backdrop}>
Run Code Online (Sandbox Code Playgroud)

我也发现这里报道同样的问题,但还没有人回答.你能帮帮我吗?

javascript image react-native

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

将隐式等待和显式等待组合在一起会导致意外的等待时间

我的两个场景 -

1)首先

@driver.manage.timeouts.implicit_wait = 30
@wait = Selenium::WebDriver::Wait.new(:timeout => 45) # Time greater than implicit
@wait.until {@driver.find_element(:tag_name => "body").text.include?("hey")}
Run Code Online (Sandbox Code Playgroud)

这给了驱动程序45秒搜索文本(这是预期的)

2)第二

@driver.manage.timeouts.implicit_wait = 30
@wait = Selenium::WebDriver::Wait.new(:timeout => 5) # Time less than implicit
@wait.until {@driver.find_element(:tag_name => "body").text.include?("hey")}
Run Code Online (Sandbox Code Playgroud)

这现在为驱动程序提供了30秒的搜索时间(不是预期的)

有没有办法让硒等待explicit等待时间而不是两者中的较大者?

注意 - 不是声明隐式等待时间不是一个选项,因为每次驱动程序无法找到某些内容时我都无法让selenium挂起.

使用Selenium版本30,windows,ff

ruby selenium webdriver selenium-webdriver

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

使文字脉动并随意改变地方

我正在使用这个插件来获取单词并使它们在屏幕上形成脉动:

首先它们出现并成长,然后它们消失,改变位置并再次出现

工作插件:

+ function($) {

  var Pulsate = function(element) {
    var self = this;
    
    self.element = element;
    self.max = 70;
    self.min = 0;
    self.speed = 500;
    self.first = true;
    self.currentPlace;
    self.possiblePlaces = [
      {
        id: 0,
        top: 150,
        left: 150,
      },
      {
        id: 1,
        top: 250,
        left: 250,
      },
      {
        id: 2,
        top: 350,
        left: 350,
      },
      {
        id: 3,
        top: 250,
        left: 750,
      },
      {
        id: 4,
        top: 450,
        left: 950,
      }
    ];
    
  };
  
  Pulsate.prototype.defineRandomPlace = function() { …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

12
推荐指数
2
解决办法
513
查看次数

全字匹配仅在Django查询中

我正在尝试编写一个只匹配整个单词的Django查询.基于这里的答案,我尝试过类似的东西:

result = Model.objects.filter(text__iregex='\bsomeWord\b')
Run Code Online (Sandbox Code Playgroud)

但这并没有返回预期的结果.我也试过了

result = Model.objects.filter(text__iregex=r'\bsomeWord\b')
Run Code Online (Sandbox Code Playgroud)

无济于事.我的最终目标是能够传入一个字符串变量,例如:

result = Model.objects.filter(text__iregex=r'\b'+stringVariable+r'\b')
Run Code Online (Sandbox Code Playgroud)

要么

result = Model.objects.filter(text__iregex=r'\b %s \b'%stringVariable)
Run Code Online (Sandbox Code Playgroud)

但是现在我甚至无法使用原始字符串.我正在使用PostgreSQL.

regex django postgresql django-queryset

11
推荐指数
1
解决办法
5695
查看次数