小编cyb*_*bat的帖子

NodeJS中urldecode(php)的最佳方法

所以我试图解码以前在Node中使用php进行urlencoded的字符串.大约一个月前,我有它的工作:

querystring.unescape(str.replace(/\+/g, '%20'));
Run Code Online (Sandbox Code Playgroud)

然后它就停止了工作 - 不确定它是否是某些节点升级或什么.玩完之后,似乎我可以使用'unescape()',但我不确定它是否是万无一失的.

unescape(str.replace(/\+/g, '%20'));
Run Code Online (Sandbox Code Playgroud)

我的问题是什么是最好的方式,并有其他人注意到这个问题.请注意,第一行使用简单的字符串,但使用奇数字符分解 - 所以可能是一些我没有看到的编码问题.

这是一个字符串:

%E6%82%CCI-T%8C%01 + A

现在转到http://www.tareeinternet.com/scripts/unescape.html并对其进行解码.这是我原来的(它是RC4加密的字符串).我希望Node返回该字符串.

javascript urldecode node.js

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

用于Twig或Swig的循环计数器

任何人都知道在Twig/Swig中做到这一点的干净方法:

{% for(i = 0; i < 100; i++) %}
    blah....
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

node.js twig

6
推荐指数
3
解决办法
7392
查看次数

Angular链中的可选第一个承诺

我有2个$ http调用返回promises,但第一个是可选的.我相信我必须首先创建一个承诺,$q.defer()但我错过了一些东西.

这是我的非工作尝试:

var p = $q.defer();
if (condition) {
  p = p.then(doOptionalFirst());
}  
return p.then(doOther());
Run Code Online (Sandbox Code Playgroud)

链接这两个调用的正确语法是什么,第一个是可选的?

angularjs angular-promise

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

使用JSDom设置location.hash和location.href

我正在使用JSDom设置一些测试,我需要windowdocument全局变量,并且还需要为每个测试传递不同的URL/href.如何设置location.hashlocation.href属性?

global.document = jsdom({url: 'http://localhost?something=not#test', 'html': ''});
global.window = document.defaultView;
console.log(window.location.href); // returns 'about:blank'
console.log(window.location.hash); // returns no value
Run Code Online (Sandbox Code Playgroud)

我试过直接赋值给出window.location.hash相同的结果.

javascript jsdom

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

无法将任何第三方模块与AWS Lambdas一起使用

我正在研究一个使用模块的lambda(异步,请求等)

Unable to import module 'index': Error 
at Function.Module._resolveFilename (module.js:338:15) 
at Function.Module._load (module.js:280:25) 
at Module.require (module.js:364:17) 
at require (module.js:380:17) 
at Object.<anonymous> (/var/task/index.js:1:63) 
at Module._compile (module.js:456:26) 
at Object.Module._extensions..js (module.js:474:10) 
at Module.load (module.js:356:32) 
at Function.Module._load (module.js:312:12) 
at Module.require (module.js:364:17)
Run Code Online (Sandbox Code Playgroud)

示例代码:

var 
  AWS = require('aws-sdk'),
  util = require('util'),
  request = require('request');

exports.handler = function(event, context) {
   console.log('test');
   context.done();
};
Run Code Online (Sandbox Code Playgroud)

只要不需要第三方模块(除了aws-sdk),它工作正常(打印测试).只要我添加一行如下:

require('request') // or async, config and so on
Run Code Online (Sandbox Code Playgroud)

它失败并出现上述错误.我已经尝试直接调用这些模块,通过指定没有运气的完整路径.就像它在调用时查看错误的目录一样require.

process.env在控制台中转储产生:

PATH: '/usr/local/bin:/usr/bin:/bin',
LAMBDA_TASK_ROOT: '/var/task',
LAMBDA_RUNTIME_DIR: '/var/runtime',
AWS_REGION: 'us-west-2',
AWS_DEFAULT_REGION: 'us-west-2', …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services node.js aws-lambda

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

如何在Angular中模拟模块

因此,到目前为止,我已经阅读了许多帖子,但没有建议。

我想模拟一个模块-说出angular-foo。原始文件将与其他所有文件一起加载。

angular.module('app', ['angular-foo'...
Run Code Online (Sandbox Code Playgroud)

我想在我的业力/摩卡测试中模拟这个模块。我已经尝试过像这样称呼它的建议,但这是不行的。

beforeEach(module('app'));

beforeEach(module('angular-foo'))
Run Code Online (Sandbox Code Playgroud)

如何完全阻止原始的angular-foo运行(但必须将其作为其余代码的一部分加载)?

unit-testing angularjs

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

由于页面重新加载时出现暂停错误,WebSocket将关闭

我有一个调用函数来重新加载页面的按钮:

function doReload() {
 window.location='/'
}
Run Code Online (Sandbox Code Playgroud)

Safari 11中大约有5次在控制台中抛出此错误:

WebSocket connection to 'ws://localhost:8080/sockjs-node/978/yzsndro2/websocket' failed: WebSocket is closed due to suspension.
Run Code Online (Sandbox Code Playgroud)

我正在幕后运行Webpack 2 dev服务器.

在Chrome中似乎没有发生.这是High Sierra Beta所以也许是一个bug.

建议或想法?

safari websocket webpack-dev-server macos-high-sierra

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

较少的CSS守卫没有mixin

我刚刚进入LESS,并试图找出如何在没有mixins的情况下制作条件css语句.我发现我有很多单行css语句只出现一次但依赖于某些变量或条件,并且使用mixins有点无意义,因为它永远不会被重用.

例.

@add-margin: true;

body {
    margin-top: 20px;  //I only want this if add-margin is true
}
Run Code Online (Sandbox Code Playgroud)

理想情况下我想要这个:

body when (@add-margin) {
     margin-top: 20px;
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用.使用mixin有效,但似乎很傻,只为一个衬垫制作一个.有没有其他方法可以做到这一点?

谢谢

less

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

在Angular中ng-click vs watch

我有一个指令,它加载一个JSON文件,然后使用该数据创建一个HTML5画布图(即json数据保存文本,颜色,位置等内容).我还有许多输入字段(文本,滑块等),允许用户操作绘图.我看到我可以$观察每个元素或使用ng-click并调用函数 - 是否有推荐的方法?

一些可能相关的说明:

  • 表单元素和画布都是同一指令模板的一部分
  • 表单元素响应onchange所以没有提交按钮
  • 每个表单元素价值得到遏制,也许转化然后他们修改JSON字符串.然后我调用一个刷新函数,用新数据重新加载我的画布.

我也可能以错误的方式接近这个......

javascript angularjs

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

superagent 的编码问题

我正在尝试使用 superagent 执行 API 调用,但它对我的 api 密钥进行编码,但被拒绝。

get(url).query({ key: 'Fmjtd%7Cluu').end(function(err, res) {
Run Code Online (Sandbox Code Playgroud)

密钥发送为

Fmjtd%257Cluu
Run Code Online (Sandbox Code Playgroud)

有什么想法如何使用超级代理来防止这种情况吗?如果我将其作为“url”部分的一部分,那就没问题,但如果可能的话,我想将其作为查询数据传递。

javascript node.js superagent

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