小编Dan*_*oss的帖子

如何告诉JSHint忽略一个文件中的所有未定义变量?

在Karma测试中,有很多全局变量和函数,JSHint抱怨它(它被集成到我的编辑器中).

如何告诉JSHint忽略这个特定文件中的所有未定义变量?我希望/* jshint undef: false */能够关闭这些警告,但事实并非如此.

javascript jshint

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

Git:在我意外更改后,如何重置配置参数?

我正在git config使用bash中的tab完成选项来探索这些选项,并且没有真正思考,我这样做了:

git config --global user.signingkey --help
Run Code Online (Sandbox Code Playgroud)

现在我的全局签名密钥设置为--help.捂脸.有没有一种通用的方法可以找出这些配置设置在过去的位置,或者在某个项目中我可以查看这个设置以查看可能设置的内容?我有一个Github帐户,也许我可以从那里得到旧的价值,因为我没有推过任何错误?我甚至不确定它是否设置为任何东西,但我确实使用SSH与Github.

cd <another project's location>; git config user.signingkey
Run Code Online (Sandbox Code Playgroud)

回报--help.

git

25
推荐指数
1
解决办法
4万
查看次数

Jest - 如何找到带有id的渲染DOM组件?

我正在编写一个简单的Jest测试,用于验证我的组件是否已呈现.我看到React的TestUtils具有按类或按标签查找渲染组件的功能,但不包括其ID属性.有一个findAllInRenderedTree函数,但文档没有解释回调应该期望什么.

我猜测回调将接收某种元素对象,这不是普通的DOM元素或普通的React组件.究竟是什么传递给了findAllInRenderedTree回调,我应该如何得到它的属性,或者至少它的ID?

我只是console.log回调的论点,但我很难让控制台在Jest测试中工作.

reactjs jestjs

10
推荐指数
1
解决办法
7311
查看次数

节点在异步功能完成之前退出

我有一个返回promise的函数,我试图在异步函数中等待它.问题是程序立即完成,而不是等待承诺.

异步test.js:

function doItSlow() {
    const deferred = new Promise();

    setTimeout( () => {
        console.log( "resolving" );
        deferred.resolve();
    }, 1000 );

    return deferred;
}

async function waitForIt( done ) {

    console.log( "awaiting" );
    await doItSlow();
    console.log( "awaited" );
    done();
}

waitForIt(() => {
    console.log( "completed test" );
});

console.log( "passed by the test" );
Run Code Online (Sandbox Code Playgroud)

构建并运行:

babel --stage 0 --optional runtime async-test.js > at.js && node at.js`
Run Code Online (Sandbox Code Playgroud)

结果:

awaiting
passed by the test
Run Code Online (Sandbox Code Playgroud)

立即解决而不是等待一秒钟没有效果:

function doItSlow() {
    const deferred = new …
Run Code Online (Sandbox Code Playgroud)

node.js async-await babeljs ecmascript-7

10
推荐指数
1
解决办法
2708
查看次数

如何处理同构渲染表单的早期输入

我有一个React应用程序,其中包含一个表单,该表单呈现在服务器端,预先填充了用户正在进行的工作.问题是如果用户在加载应用程序之前在表单中编辑了一个值,那么应用程序就不会意识到这一变化.当用户保存时,服务器呈现的未更改数据将被重新保存,并且用户的新数据将被删除,尽管它仍显示在表单中.简而言之,在最初加载时它替换的标记中的React和输入值之间似乎存在脱节.

我想我可以在每个输入上放置refs并将它们的值复制到componentDidMount上的应用程序状态,但必须有更好的方法.还有其他人解决了这个问题吗?

更新

我现在认为解决这个问题的最佳方法是在创建校验和时让React考虑输入值.GH问题:https://github.com/facebook/react/issues/4293

forms reactjs isomorphic-javascript

8
推荐指数
1
解决办法
731
查看次数

找到沿两个平面交叉的线

我试图在3D中绘制由两个平面的交叉点形成的线,但是我无法理解数学,这已经在这里这里解释.

我试图弄清楚自己,但是我得到解决方案的最接近的是一个指向与交叉线相同方向的矢量,通过使用平面法线的叉积.我不知道如何在交叉线上找到一个点,任何一点都可以.我认为这种方法是死路一条.以下是此尝试的屏幕截图: 飞机和它们的法线以及它们法线的交叉乘积

我试图使用这个问题中提到的解决方案,但它与原始解释有一个死链接,并且该等式对我不起作用(它有不平衡的括号,我试图在下面纠正).

var planeA = new THREE.Plane((new THREE.Vector3(0, 0, 1)).normalize(), 100);
var planeB = new THREE.Plane((new THREE.Vector3(1, 1, 1)).normalize(), -100);

var x1 = planeA.normal.x,
    y1 = planeA.normal.y,
    z1 = planeA.normal.z,
    d1 = planeA.constant;

var x2 = planeB.normal.x,
    y2 = planeB.normal.y,
    z2 = planeB.normal.z,
    d2 = planeB.constant;

var point1 = new THREE.Vector3();
point1.x = 0;
point1.z = (y2 / y1) * (d1 - d2) / (z2 - z1 * y2 / …
Run Code Online (Sandbox Code Playgroud)

algorithm math 3d linear-algebra three.js

7
推荐指数
3
解决办法
4408
查看次数

从Grunt任务运行Mocha时隐藏堆栈跟踪

我需要在测试失败时看到堆栈跟踪,但是当Grunt运行Mocha测试套件时会隐藏它.当我自己运行测试时(mocha --recursive)我得到一个堆栈跟踪:

site/server/server.js:10
    server.use( express.static( path.join( __dirname( '../client' ))));
                                           ^
TypeError: string is not a function
    at ...
Run Code Online (Sandbox Code Playgroud)

但是使用这个Gruntfile:

'use strict';

var should = require( 'should' );

module.exports = function( grunt ) {
    grunt.initConfig({
        cafemocha: {
            test: {
                src: 'server/test/**/test-*.js',
                options: {/*
                    ui: 'bdd',
                    growl: true,
                    coverage: true,
                    reporter: 'spec'
                */}
            }
        },

        watch: {
            files: [
                'server/**/*.js',
                'Gruntfile.js',
                'package.json'
            ],
            tasks: [ 'test' ]
        },

        complexity: {
            generic: {
                src: [
                    'server/**/*.js',
                    'Gruntfile.js'
                ],
                options: {
                    cyclomatic: …
Run Code Online (Sandbox Code Playgroud)

mocha.js gruntjs

6
推荐指数
1
解决办法
1329
查看次数

Vim Syntastic:如何找出当前使用的语法检查程序?

我想在Python语法检查器中更改设置或编辑一行代码,但Syntastic附带了五行代码.我怎样才能知道哪一个正在使用?

vim syntastic

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

Babel可以编译为"node --harmony"而不是ES5吗?

我正在尝试编译一个Koa应用程序,并且Koa有断言检查以确保我将生成器函数作为中间件传递.但是,为了与前端代码保持一致,我想使用Babel从ES7编译我的服务器端代码.

是否有可能针对节点和谐而不是ES5?我没有在选项中看到任何有希望的东西,但选择目标似乎是能够使用编译器的标准事物.

更新

黑名单巴贝尔的再生器变换似乎没有效果,即使我正在使用stage: 1.

index.js:

require( "babel/register" )({
    sourceMaps: "inline",
    stage: 1,
    blacklist: [ "regenerator" ],
    optional: [ "asyncToGenerator" ]
});

var app = require( "./src/server" );

app.listen( process.env.port || 3000 );
Run Code Online (Sandbox Code Playgroud)

SRC/server.js:

import koa from "koa";
import router from "koa-router";

router.get( "/", function *( next ) {
    this.body = "Hi!";
});

let app = koa();
app.use( router() );

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

执行: node --harmony index.js

node --version
v0.12.4
Run Code Online (Sandbox Code Playgroud)

node.js babeljs ecmascript-7

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

Docker pull无法在127.0.1.1:53上查找index.docker.io(无法解组DNS消息)

出于某种原因,我无法让Docker与Dockerhub通信; searchpull命令失败一些DNS相关的原因.例如:

$ docker pull redis
Pulling repository redis
Get https://index.docker.io/v1/repositories/library/redis/images: dial tcp: lookup index.docker.io on 127.0.1.1:53: cannot unmarshal DNS message
Run Code Online (Sandbox Code Playgroud)

我的网络连接很好.我可以ping 127.0.1.1.这是一个本地主机地址吗?是否有某种Dockerhub特定的DNS服务在我的机器上运行?我的网络似乎没有其他任何问题.

我已经尝试配置我的网络连接以使用谷歌的DNS(8.8.8.8),但这没有任何区别.

更新

奇怪的是,我无法ping index.docker.io,但如果我尝试在浏览器中导航,我会被重定向到hub.docker.com.

更新

我现在可以确认这只发生在酒店的一个局域网上.我不知道他们在做什么,或者为什么它只影响Docker,而不是Git或Bittorrent或任何其他连接工具.

dns docker dockerhub

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