小编Say*_*Ali的帖子

Angular 6 - 为子模块导入共享模块

我正在尝试创建一个共享模块,但它不想以某种方式工作.

共享模块如下所示:

import { ModuleWithProviders, NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';

import { SharedMetaModule } from './shared-meta';
import { ApplicationState } from './state/application-state';
import { MilitaryTimePipe } from './pipes/military-time-pipe';
import { KeysPipe } from './pipes/object-pipe';
import { GirlsClass } from './advertisers/girls';

@NgModule({
    imports: [CommonModule],
    declarations: [
        KeysPipe,
        MilitaryTimePipe
    ],
    exports: [
        SharedMetaModule,
        KeysPipe,
        MilitaryTimePipe
    ],
    providers: [ApplicationState]
})
export class SharedModule {
    static forRoot(): ModuleWithProviders {
        return { ngModule: SharedModule };
    }
}
Run Code Online (Sandbox Code Playgroud)

我有一个像这样的app.module.ts:

import { …
Run Code Online (Sandbox Code Playgroud)

javascript angular-pipe angular

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

ES6导入语句在Node v8.4.0中不起作用

我正在使用最新版本的Node.js,即v8.4.0.但是,在导入和导出语句中,我收到错误:

import express from 'express';
                                                              ^^^^^^

SyntaxError: Unexpected token import
    at createScript (vm.js:74:10)
    at Object.runInThisContext (vm.js:116:10)
    at Module._compile (module.js:537:28)
    at Object.Module._extensions..js (module.js:584:10)
    at Module.load (module.js:507:32)
    at tryModuleLoad (module.js:470:12)
    at Function.Module._load (module.js:462:3)
    at Function.Module.runMain (module.js:609:10)
    at startup (bootstrap_node.js:158:16)
    at bootstrap_node.js:598:3
Run Code Online (Sandbox Code Playgroud)

我应该安装什么Node.js版本才能使用这些ES6代码?

  • 操作系统 - Ubuntu 17.04
  • node -v:v8.4.0
  • npm -v:5.3.0

node.js

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

如何在Node.js中拍摄窗口截图?

我正在进行一项研究,以找到一种使用Node.js拍摄窗口屏幕快照的方法,并且我正在尝试使用node-ffi进行此操作,但我不知道如何...一次我被困在这里:

var ffi = require('ffi');

var user32 = new ffi.Library("user32", {
      FindWindowA: [ 'uint32' , [ 'string', 'string' ]]
    , PrintWindow: [ 'int32'  , [ 'int32', 'string', 'int32' ]]
});

var IMG;
var windowHandle = user32.FindWindowA(null, "Calculator");
var printWin = user32.PrintWindow(windowHandle, IMG, 0);

console.log(printWin);
console.log(IMG);
Run Code Online (Sandbox Code Playgroud)

结果:

$ node get-print.js
1
undefined
Run Code Online (Sandbox Code Playgroud)

已编辑

我在C ++中找到了以下工作代码

Bitmap bm = new Bitmap(1024, 768);
Graphics g = Graphics.FromImage(bm);
IntPtr hdc = g.GetHdc();
Form1.PrintWindow(this.Handle, hdc, 0);
g.ReleaseHdc(hdc);
g.Flush();
g.Dispose();
this.pictureBox1.Image = bm;
Run Code Online (Sandbox Code Playgroud)

现在我需要在NodeJ上执行此操作

有人可以帮助我吗?

javascript user32 node.js npm node-ffi

6
推荐指数
2
解决办法
9881
查看次数

preg_match在输入satinization中是否安全?

我正在构建一个新的Web应用程序,LAMP环境...我想知道preg_match是否可以信任用户的输入验证(当然+准备好的stmt)用于所有基于文本的字段(也就是不是HTML字段;电话,名称) ,姓氏等.).

例如,对于经典的"电子邮件字段",如果我检查输入如下:

$email_pattern = "/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)" .
    "|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}" .
    "|[0-9]{1,3})(\]?)$/";

$email = $_POST['email'];
if(preg_match($email_pattern, $email)){
    //go on, prepare stmt, execute, etc...
}else{
    //email not valid! do nothing except warn the user
}
Run Code Online (Sandbox Code Playgroud)

我可以在SQL/XXS注入时轻松入睡吗?

我写的正则表达式更具限制性.

编辑:正如已经说过的,我确实使用了预处理语句,这种行为仅适​​用于基于文本的字段(如电话,电子邮件,姓名,姓氏等),因此不允许包含HTML(对于HTML字段) ,我使用HTMLpurifier).

实际上,我的任务是只有在匹配我的regexp-white-list时才传递输入值; 否则,将其返回给用户.

ps ::我正在寻找没有mysql_real_escape_strings的东西; 可能该项目将在未来切换到Postgresql,因此需要一个跨数据库的验证方法;)

php validation sanitization input-sanitization

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

在Node.js中异步嵌套循环,下一个循环必须在一个完成后才开始

检查以下算法......

users = getAllUsers();
for(i=0;i<users.length;i++)
{
    contacts = getContactsOfUser(users[i].userId);
    contactslength = contacts.length;
    for(j=o;j<contactsLength;j++)
    {
         phones = getPhonesOfContacts(contacts[j].contactId);
         contacts[j].phones = phones;
    }
    users[i].contacts = contacts;
}

return users;
Run Code Online (Sandbox Code Playgroud)

我想使用node.js开发这样的逻辑.

我已经尝试使用异步foreachconcatforeachseries功能.但是在第二级都失败了.

当指针获得一个用户的联系人时,i增加的值和下一个用户的进程开始. 它不是在等待为一个用户完成联系人和电话的完成过程.并且只有在启动下一个用户之后.我想实现这一目标.

实际上,我想让用户正确地反对

意味着所有的序列都被毁了,任何人都可以给我一般的想法,我怎样才能实现这样一个系列的过程.我也愿意改变我的算法.

asynchronous node.js

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

动态更改字体系列和字体大小

我想动态更改文本的字体和大小

但我在浏览器中没有看到任何答案,我的代码中也没有错误,这是演示

html:

<body>
<form id="texteditor">
    <select id="font">
        <option value="School">School</option>
        <option value="SansitaOne">SansitaOne</option>
        <option value="oliver">oliver</option>
        <option value="JuraLight">Jura-Light-webfont</option>
        <option value="Jura">Jura-DemiBold-webfont</option>
        <option value="DJGROSS">DJGROSS-webfont</option>
        <option value="College">College</option>
        <option value="BYekan">BYekan</option>
        <option value="BRoya">BRoya</option>
        <option value="BMitraBold">BMitraBold</option>
        <option value="BMitra">BMitra</option>
    </select>
    <select id="size">
        <option value="7">7</option>
        <option value="10">10</option>
        <option value="15">15</option>
        <option value="17">17</option>
        <option value="20">20</option>
    </select>
</form>
<textarea class="changeme">this is my text example !!!</textarea>
</body>
Run Code Online (Sandbox Code Playgroud)

查询:

$("#font").change(function() {
//alert($(this).val());
$('.changeMe').css("font-family", $(this).val());

  });



 $("#size").change(function() {
 $('.changeMe').css("font-size", $(this).val() + "px");
 });
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

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

使用Node.js连接MongoDB的最佳方法

我已经阅读了一些关于如何将Mongo与Node一起使用的指南,它们似乎都以不同的方式连接到数据库.一种对我有用的特殊方法是:

MongoClient.connect("mongodb://localhost:27017/exampleDb", function(err, db) {
  if(err) { return console.dir(err); }

  db.createCollection('users', function(err, collection) {});

  //Do all server/database operations in here

});
Run Code Online (Sandbox Code Playgroud)

然而,这对我来说似乎是低效/奇怪的,每次有app.get()新的用户或检索信息时,我都必须重新连接到数据库.

另一种似乎更适合我的方式是

var mongoose = require("mongoose")
var db = mongoose.connect("localhost:27107/users");

db.createCollection('users', function(err, collection) {});
Run Code Online (Sandbox Code Playgroud)

我已经看到有几个网站在这些方面做了些什么,但我个人无法完成上述工作.我不断收到TypeError: db.createCollection is not a function服务器端的错误.所以,我的问题是为什么上面的代码不起作用,如果第一个代码是一个很好的选择,并且有任何其他方法可以做到这一点.

mongodb node.js

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

jQuery UI Draggable功能不起作用

我已经包含了jquery库,之后是jQuery UI库,它仍然不起作用.我正在使用Google Chrome浏览器.

代码遵循:

<script src="js/jquery-1.6.2.min.js" type="text/javascript"></script>
<script src="js/jquery-ui-1.8.16.custom.min.js" type="type/javascript"></script>
<script type="text/javascript">
    $(function() {
        $( ".drag" ).draggable();
    });
</script>

<div id="aboutBox" class="boxLook boxBg drag"></div>
Run Code Online (Sandbox Code Playgroud)

我无处可寻找任何解决方案.调试器说可拖动的方法不存在.但我添加了jQuery和jQuery UI,路径是正确的!它只是不起作用.

jquery jquery-ui jquery-ui-draggable

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

防止连接

我已经写了13年的JavaScript,但我在过去的几个月里重新发现它作为一种编写程序的方式,任何访问网页的人都可以使用它而无需安装任何东西.例如,参见.

我最近发现的showstopper是因为JavaScript是按设计松散键入的,所以当我希望它添加数字时,它会保持连接字符串.这是不可预测的.一个例程工作好几天然后当我输入不同的数据时,问题就出现了,我最终得到了一个不可思议的大数字.

有时候,我有运气通过将防止这种( )围绕一个学期,有时我不得不求助于parseInt()parseFloat()一个学期.它提醒我一点点试图通过在一个(常量)项上放置.00来强制将结果放入C中.当我尝试+=通过parseFloat()对所有内容进行加载的数组中进行某些操作时,我发生了这种情况.

这只是另外发生的吗?如果我每次添加时使用parseInt()parseFloat()至少使用其中一个术语,是否会阻止它?我在Linux下使用Firefox 6进行编写,但跨浏览器的可移植性也是一个问题.

javascript

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

Slack API 不返回私人频道

我正在尝试获取 Slack 中的私人频道列表(基于每个用户即可),但我在查看此信息时遇到问题。我最初将应用程序安装到 Slack 中的工作区中,并获得了表单中的 OAuth 令牌xoxp-4...........

应用程序 OAuth 令牌

当我尝试使用 slack API(节点 SDK)时,我只能获得公开列出的频道。

await new WebClient(`xoxp-4.....`)
    .conversations       
    .list({ exclude_archived: true })
).channels
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用 Slack API 测试器来获取频道列表,我也会得到同样的结果。

用户 OAuth 令牌
我已遵循OAuth 2.0流程来获取给定用户(我自己)的令牌。我认为我已经正确完成了这一切(这是回复):

{
        ok: true,
        access_token: 'xoxp-4.........',
        scope: 'identify,bot,commands,channels:history,groups:history,im:history,mpim:history,channels:read,emoji:read,groups:read,im:read,search:read,team:read,users:read,users:read.email,usergroups:read,users.profile:read,chat:write:user,chat:write:bot,links:read',
        user_id: 'UD......',
        team_name: '............',
        team_id: '.......',
        scopes: ['identify',
            'bot',
            'commands',
            'channels:history',
            'groups:history',
            'im:history',
            'mpim:history',
            'channels:read',
            'emoji:read',
            'groups:read',
            'im:read',
            'search:read',
            'team:read',
            'users:read',
            'users:read.email',
            'usergroups:read',
            'users.profile:read',
            'chat:write:user',
            'chat:write:bot',
            'links:read'
        ]
    }
Run Code Online (Sandbox Code Playgroud)

有趣的是,我发现如果我转到应用程序管理,这会为我提供完全相同的 OAuth 令牌(我假设是因为是我将应用程序安装到工作区)。

显然,因为它是相同的令牌,所以我仍然没有获得查看私人频道的权限,即使据我所知,我应该能够做作为用户可以做的一切?

谁能指出我可能缺少什么?

javascript node.js slack-api slack

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