小编nug*_*har的帖子

如何用 node.js 做 AOP?

我在用 node.js 做一些 AOP 时遇到了一个小问题:假设我在一个名为server.js的脚本中有一个应用程序,我想监视它的功能。

这是代码:

var express = require('express');

var app = express();

app.get('/', function(req, res){
    res.setHeader('Content-Type', 'text/plain');
    res.end('Home');
});

app.get('/login', function(req, res){
    login(req,res);
    module.exports.login_(req, res);
});
app.use(function(req, res, next){
    res.setHeader('Content-Type', 'text/plain');
    res.send(404, 'Page introuvable !');
});

function login(req, res){
    res.setHeader('Content-Type', 'text/plain');
    res.end('Page de login');
}

app.listen(1616);
Run Code Online (Sandbox Code Playgroud)

如您所见,我想监视唯一的函数login(req, res)。为了做到这一点,我想在另一个脚本中使用 AOP,但我能找到的所有东西 - 我认为这是由于 Javascript 语言的性质 - 意味着很多代码入侵。

有没有办法像在 Spring/Java 中那样做 AOP?无需进行任何代码入侵?

目前,我的解决方案是这样的:
这是我们的应用程序,其中包含一些代码入侵

    var express = require('express');

    var app = express();

    app.get('/', function(req, res){
        res.setHeader('Content-Type', 'text/plain'); …
Run Code Online (Sandbox Code Playgroud)

javascript aop node.js

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

无法在 Webstorm 中调试 Karma 测试

我已经在互联网上寻找了几天以找到答案,但到目前为止,还没有找到任何东西。

所以这是我的问题:我无法调试 Karma 测试或我的应用程序。

我正在 CentOS 6.7 上开发一个带有 WebStorm 10.0.4 的网络应用程序
我使用 TypeScript 和 Angular,并使用 Karma 进行单元测试,使用量角器进行 e2e 测试。我设法设置了量角器调试,这意味着我可以在我的测试代码上设置一些断点,它会暂停。

我使用的是 Firefox 38.0.0(不能使用其他版本)。未安装 Chrome。
我已经设置了Karma 运行配置远程 Firefox 配置


业力问题

当我运行Karma 测试时,一切都很好。但是当我想调试它们时,我收到以下消息:

未发现受支持的浏览器
Chrome 或 Firefox 当前支持 JavaScript 调试

应用调试问题

更糟糕的是:当我启动远程 Firefox 调试时,一切都很好,直到我在 WebStorm 中放置一个断点:然后应用程序就会冻结,我无法做任何事情。


我错过了什么?还有更多配置要做吗?
您的帮助将不胜感激。

javascript debugging firefox webstorm karma-runner

3
推荐指数
1
解决办法
1592
查看次数

让画布无限大

我目前正在使用画布,在上面画了一些感兴趣的区域。它们由正方形组成,可以通过鼠标单击来移动(即:每次我在画布上单击时,所选区域将以我的光标位置为中心)。

我当前的问题是我想添加以下功能:当我单击画布边缘(左或右)附近时,如果正方形的一部分处于画布外,我希望出现该画布外部分在对面的edfe。

示例:如果我在画布的右边缘附近单击,隐藏部分应出现在左侧。

老实说,我不知道如何正确地做到这一点。在我看来,它需要一个非常繁重的解决方案(有很多循环)。

我们将非常感谢您的帮助。

html javascript canvas

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

标签 统计

javascript ×3

aop ×1

canvas ×1

debugging ×1

firefox ×1

html ×1

karma-runner ×1

node.js ×1

webstorm ×1