小编Zla*_*tko的帖子

如何让Google Chrome JavaScript控制台持久存在?

由于我正在构建一个动态站点,我需要跟踪页面之间的变化,即.Ajax调用,POST,GET和类似的东西.

我正在寻找与Firebug相同的功能(您可以在其中启用"持久性")并且每次重新加载页面或提交表单时都不会清除控制台.

所以,我的问题是:有没有办法让Google Chrome JavaScript控制台持久存在? (如果是,怎么样?)

更新:在此处复制答案,如果有人仍在寻找此答案,Chrome 14+在开发人员工具>设置中设置了标记为"控制台:保留登录导航"的设置.

更新2:Chrome(33+)的最新版本通过在控制台中单击鼠标右键来选择此选项.

更新3(2017年末):最新版本的Chrome(60+)有此选项,打开控制台,点击右上角的齿轮并选择"保留日志"

javascript debugging console google-chrome

227
推荐指数
4
解决办法
7万
查看次数

如何让Mocha加载一个定义全局钩子或实用程序的helper.js文件?

我有一个名为的文件test/helper.js,用于在我的Node.js应用程序上运行Mocha测试.我的测试结构如下:

test/
test/helper.js    # global before/after
test/api/sometest.spec.js
test/models/somemodel.spec.js
... more here
Run Code Online (Sandbox Code Playgroud)

helper.js必须加载该文件,因为它包含我的测试套件的全局钩子.当我运行Mocha来执行整个测试套件时:

mocha --recursive test/
Run Code Online (Sandbox Code Playgroud)

helper.js文件在我的测试加载和我的before钩被按预期执行.

但是,当我只运行一个特定的测试时,helper.js在测试之前没有加载.这是我运行它的方式:

mocha test/api/sometest.spec.js
Run Code Online (Sandbox Code Playgroud)

没有全球before叫,甚至没有console.log('I WAS HERE');.

那么我怎样才能让Mocha 始终加载我的helper.js文件?

javascript mocha.js node.js

39
推荐指数
4
解决办法
3万
查看次数

将环境变量传递给Angular2应用程序?

我需要将后端URL传递给我的Angular2应用程序,因为生产和开发服务器托管在不同的位置.

我知道我可以在外部config.json中存储这些东西并在启动时加载.但是,在应用程序启动之前,这似乎是对服务器的不必要的额外调用.

或者,我现在做的是创建一个全局变量,我根据构建注入gulp.我的应用程序不是需要可重用的库我不相信我应该遇到意外的全球名称冲突.但这不是一个好习惯.

我想知道是否有第三个更好的解决方案?

environment angular

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

如何在docker工具箱中设置代理?

我刚刚在windows environnement(Windows 7 Pro)上安装了docker工具箱,由于企业代理,我的网络超时了.如何在docker工具箱中设置代理?

谢谢你的帮助.

windows proxy docker-toolbox

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

协会续集3个表,多对多

我有4张桌子

- client
- project
- user
- userProject
Run Code Online (Sandbox Code Playgroud)

一个项目属于客户端,它需要客户端外键client_id.

UserProject具有project_id和user_id外键,属于项目和用户.

一个用户拥有他的项目的客户.

  • 如何列出一个用户的客户端?

node.js sequelize.js

13
推荐指数
2
解决办法
801
查看次数

验证Express 4路由器上某些路由的更好方法是什么?

我正在使用Express 4,我有一条受passport.js保护的路线,如下所示:

var media = require('express').Router();

media.get('/', function(req, res) {
    // provide results from db
});

media.post('/', passport.authenticate('bearer'), function(req, res) {
    // This route is auth protected
});
Run Code Online (Sandbox Code Playgroud)

所以 - 收集路线应该(大部分)不受我保护,并且应该创建/更新路线.但这需要我将护照传递给我的所有路径文件(到目前为止我已经有7个),然后将其作为中间件添加到其中一些文件中.

我喜欢你可以做这样的事情的版本:

var router = require('./my-router');
app.use('/api/route', passport.authenticate('bearer'));
app.use('/api/route', router);
Run Code Online (Sandbox Code Playgroud)

但这需要在我的所有路线上进行身份验证.

有没有更好的办法通过护照一路走来?

authentication routes node.js express passport.js

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

Promise.all在babel ES6实现中安装

我正在使用babel我的node.js@0.10.x代码转换,我坚持承诺.

我需要allSettled-type功能,我可以使用q和/ bluebirdangular.$q例如.

在babel的核心-js上Promise,没有allSettled方法.

目前我正在使用q.allSettled解决方法:

import { allSettled } from 'q';

在babel polyfill中有类似的东西吗?或者,这对我来说是一个很好的算法来尝试实现?

javascript node.js ecmascript-6 es6-promise babeljs

12
推荐指数
4
解决办法
3602
查看次数

角度资源自定义网址

我正在尝试在角度资源上添加一个简单的方法,基本上是这样的:

/ API /资源/:ID /存档

如果我这样做:

angular.module('myApp')
.factory('api', function($resource) {
    var api = {
        messages: $resource('/api/messages/:id', {id: '@id'}
        , {
            archive: {
                method: 'PUT'
                , params: {id: '@id'}
                , url: '/api/messages/:id/archive'
            }
        }
    return api;
})
.controller('myCtrl', function(api) {
    // once I get messages and do stuff...
    $scope.archive = function(msg) {
        api.messages.archive({id: msg._id}, successHandler, failureHandler);
    }
});
Run Code Online (Sandbox Code Playgroud)

它不起作用,我得到一个简单的PUT (*/api/messages/{id}*).我尝试了另一个参数.

在工厂:

....
archive: {
    method: 'PUT'
    , params: {id: '@id', action: '@action'}
    , url: '/api/messages/:id/:action'
....
Run Code Online (Sandbox Code Playgroud)

在控制器中:

api.messages.archive({id: msg._id, …
Run Code Online (Sandbox Code Playgroud)

resources angularjs

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

Passport.js可选身份验证

Passport.js是否有可选的身份验证中间件?

假设我有路线,/api/users.我想向公众提供一个用户列表,但对于经过身份验证的人员,我想添加更多字段.

目前我只有一个愚蠢的自定义方法做同样的事情,但我想知道:

  • Passport.js已经提供了这样的东西或
  • 我怎样才能使这成为护照的一部分,就像插件一样.

粗略地说,我的方法看起来像

function optionalAuth(req, res, next) {

    var authHeader = req.headers.authorization;
    var token = parseToken(authHeader); // just getting the OAuth token here
    if(!token) {

        return next();
    }
    User.findOne({
        token: token
    }, function(err, user) {

        if(err) {
            return res.json(401, {message: 'auth expired'});
        };
        if(user) {
            req.user = user;
        }
        next();
    });
}
Run Code Online (Sandbox Code Playgroud)

然而,这对我来说似乎是愚蠢的,而且在passport-auth-strategies.js或其他我认为应该存在的auth层中也没有.有什么更好的方法呢?

奖励点告诉我,如果我找到一个令牌但是它无效,我是否正在做正确的事情返回401

javascript authentication node.js oauth-2.0 passport.js

11
推荐指数
2
解决办法
4431
查看次数

如何在Node.js中检查MongoDB连接是否处于活动状态

我有一个MongoDB的应用程序作为后端.当应用程序启动时,我会设置连接并在以后的请求中使用它.

但是,如果同时我的db conncetion失败(即mongod崩溃),我如何在请求时间检查?

澄清一下:

  • 目前我有一个"api.js",确实如此 db.once('open', function../* setup */)
  • 根据要求,我做db.find(conditions, function(err, res) { if (err) ...else ...}).

我想要做的是在db.find()子句之前检查连接是否存在.因此,如果它关闭,我可以尝试重新启动数据库连接.

PS我知道,我应该设置一些连接池或类似的连接池,而不是一直保持连接,但现在它设置为原样.

mongoose mongodb node.js

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