我正在尝试创建一个共享模块,但它不想以某种方式工作.
共享模块如下所示:
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) 我正在使用最新版本的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代码?
我正在进行一项研究,以找到一种使用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上执行此操作
有人可以帮助我吗?
我正在构建一个新的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,因此需要一个跨数据库的验证方法;)
检查以下算法......
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开发这样的逻辑.
我已经尝试使用异步与foreach和concat和foreachseries功能.但是在第二级都失败了.
当指针获得一个用户的联系人时,i增加的值和下一个用户的进程开始.
它不是在等待为一个用户完成联系人和电话的完成过程.并且只有在启动下一个用户之后.我想实现这一目标.
实际上,我想让用户正确地反对
意味着所有的序列都被毁了,任何人都可以给我一般的想法,我怎样才能实现这样一个系列的过程.我也愿意改变我的算法.
我想动态更改文本的字体和大小
但我在浏览器中没有看到任何答案,我的代码中也没有错误,这是演示
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) 我已经阅读了一些关于如何将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服务器端的错误.所以,我的问题是为什么上面的代码不起作用,如果第一个代码是一个很好的选择,并且有任何其他方法可以做到这一点.
我已经包含了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,路径是正确的!它只是不起作用.
我已经写了13年的JavaScript,但我在过去的几个月里重新发现它作为一种编写程序的方式,任何访问网页的人都可以使用它而无需安装任何东西.例如,参见.
我最近发现的showstopper是因为JavaScript是按设计松散键入的,所以当我希望它添加数字时,它会保持连接字符串.这是不可预测的.一个例程工作好几天然后当我输入不同的数据时,问题就出现了,我最终得到了一个不可思议的大数字.
有时候,我有运气通过将防止这种( )围绕一个学期,有时我不得不求助于parseInt()或parseFloat()一个学期.它提醒我一点点试图通过在一个(常量)项上放置.00来强制将结果放入C中.当我尝试+=通过parseFloat()对所有内容进行加载的数组中进行某些操作时,我发生了这种情况.
这只是另外发生的吗?如果我每次添加时使用parseInt()或parseFloat()至少使用其中一个术语,是否会阻止它?我在Linux下使用Firefox 6进行编写,但跨浏览器的可移植性也是一个问题.
我正在尝试获取 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 ×5
node.js ×5
jquery ×2
angular ×1
angular-pipe ×1
asynchronous ×1
css ×1
html ×1
jquery-ui ×1
mongodb ×1
node-ffi ×1
npm ×1
php ×1
sanitization ×1
slack ×1
slack-api ×1
user32 ×1
validation ×1