这可能是一个非常基本的问题,但我根本就没有得到它.使用Express.js创建应用程序和启动应用程序侦听端口1234 之间的区别是什么,例如:
var express = require('express');
var app = express();
//app.configure, app.use etc
app.listen(1234);
Run Code Online (Sandbox Code Playgroud)
并添加一个http服务器:
var express = require('express');
var http = require('http');
var app = express();
var server = http.createServer(app);
//app.configure, app.use etc
server.listen(1234);
Run Code Online (Sandbox Code Playgroud)
有什么不同?
如果我导航到http://localhost:1234
,那么我得到相同的输出.
我有一个用户的mongoose模式(UserSchema),我想验证电子邮件是否具有正确的语法.我目前使用的验证如下:
UserSchema.path('email').validate(function (email) {
return email.length
}, 'The e-mail field cannot be empty.')
Run Code Online (Sandbox Code Playgroud)
但是,这仅检查字段是否为空,而不是语法.
是否已经存在我可以重复使用的东西,或者我必须提出自己的方法并在validate函数中调用它?
我已经更改了我的Express.js项目以使用bower来安装组件.所有组件都安装在/ components(/components/jquery/jquery.js ...等)下.
我也创建了自己的路由器,如下所示:
app.get('/', routes.index); // main page
app.get('/p/:name', routes.p); //redirect routes
app.get('/api/contacts', api.contacts); //look at all
app.get('/api/contact/:id', api.contact); //look at one
app.post('/api/contact', api.add); //add contact
app.put('/api/contact/:id', api.edit); //edit&update contact
app.delete('/api/contact/:id', api.delete); //delete contact
Run Code Online (Sandbox Code Playgroud)
没有路由/组件因此http://my.project/components/jquery/jquery.js
回来了Cannot GET /components/jquery/jquyery.js
有人可以让我知道为/ components下的所有组件添加路由的最佳方法是什么?
我可以在客户端做些什么来检测socket.io websocket是不可用的吗?有点像:
我试图在客户端添加'error'和'connect_failed'选项,但没有任何运气,那些根本没有触发.任何人的想法我怎么能做到这一点?
我可能在这里做错了但我无法理解这一点.
以下不起作用:
客户
$("#disconnectButton").click(function() {
socket.emit("disconnect");
});
Run Code Online (Sandbox Code Playgroud)
服务器
socket.on("disconnect", function() {
console.log("this never gets called");
});
Run Code Online (Sandbox Code Playgroud)
我不能从客户端手动调用disconnect事件吗?因为以下工作:
客户
$("#disconnectButton").click(function() {
socket.emit("whatever");
});
Run Code Online (Sandbox Code Playgroud)
服务器
socket.on("whatever", function() {
socket.disconnect();
console.log("this gets called and disconnects the client");
});
Run Code Online (Sandbox Code Playgroud) 这是我的选择选项
<select name="recomemded_food[]" value="" style="width:560px;" multiple class="chosen-select" >
<option value="American Black Bear">American Black Bear</option>
<option value="Asiatic Black Bear">Asiatic Black Bear</option>
<option value="Brown Bear">Brown Bear</option>
<option value="Giant Panda">Giant Panda</option>
</select>
Run Code Online (Sandbox Code Playgroud)
以下是我的代码试图使用foreach循环来获取数组值.但是我收到以下错误:
@foreach (explode(',',old('recomemded_food')) as $recomemded_food)
{{$recomemded_food}}
@endforeach
Run Code Online (Sandbox Code Playgroud)
错误消息:explode()期望参数2为字符串
我有一个令我困惑的问题,我想知道是否有人试图实现以下目标:
我们假设这是我在Linux环境中使用'last'命令的结果:
root pts/1 192.168.1.10 Wed Feb 10 07:04 - 07:57 (00:52)
root pts/2 Tue Feb 9 22:00 - 00:13 (02:13)
Run Code Online (Sandbox Code Playgroud)
如果"root"用户已从192.168.1.10登录,如何设置特定操作(例如修改的MOTD或发送电子邮件).有没有办法捕获这些信息?
这个问题的第二部分是如何使上述检查更加健壮 - 即如果我有以下内容:
mary pts/1 192.168.1.10 Wed Feb 10 07:04 - 07:57 (00:52)
bob pts/2 Tue Feb 9 22:00 - 00:13 (02:13)
Run Code Online (Sandbox Code Playgroud)
现在,如果用户名等于'mary'且主机为192.168.1.10,我想执行一个操作.
欢迎任何建议.
先感谢您.
我有一个关于MySQL的特殊问题.请查看下面的查询和结果集:
SELECT COUNT(c.Population) AS c, c.City AS cc
FROM City c
GROUP BY c.City
ORDER BY c.City;
Run Code Online (Sandbox Code Playgroud)
261 | Bristol
----------------
910 | London
----------------
241 | Manchester
----------------
Run Code Online (Sandbox Code Playgroud)
我想得到COUNTs的SUM,所以在这种情况下我想在下一行或新列中看到'1412',这并不重要.
有什么建议?我试图对此应用子查询,但我找不到合适的解决方案.
干杯
使用 svelte 创建 Web 组件,当组件的属性更改时,我需要运行一些代码。
我想出的是以下模式。
<script>
export let test = "default value";
$: {
testIsChanged(test);
}
function testIsChanged(newValue) {
console.log(newValue);
}
</script>
The value of test is {test}
Run Code Online (Sandbox Code Playgroud)
这是这样做的方法吗?或者我错过了什么?
我有两个数组,一个作为函数的引用(参数),另一个作为函数的一部分创建 - 完全相同的场景如下所述:
我按照上面的建议使用push.apply()方法,但有人可以向我解释,为什么我不能使用concat()合并两个数组,如果数组作为参考发送到函数中?