我想在我的socket.io应用程序中访问express 4 session.我是Node的新手,我在实现这个功能时遇到了一些麻烦.
我发现了一个允许访问快速4会话的npm模块:https://www.npmjs.org/package/session.socket.io-express4或https://github.com/eiriklv/session.socket.io
如果你看下面我的app.js代码,我在做错了session,sessionStore或者cookieParser设置错误,因为我无法让这个模块工作.
// init modules
var express = require('express');
var helmet = require('helmet');
var fs = require('fs');
var path = require('path');
var favicon = require('static-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var session = require('express-session');
var memoryStore = session.MemoryStore;
var app = express();
// set variables
var options = {
key: fs.readFileSync('./openssl_keys/server_key.pem'),
cert: fs.readFileSync('./openssl_keys/server_cert.pem')
};
var cookieSecret = "secret phrase"; …Run Code Online (Sandbox Code Playgroud) 我想显示一个由@我的文本区域中的单词触发的自动完成表单,如此库http://ichord.github.io/At.js/,但仅使用angularjs&css
我应该写什么样的指令?另外,有没有办法用angular bootstrap UI typehead指令实现它?
autocomplete angularjs angularjs-directive angular-ui-bootstrap
我使用指令检查电子邮件是否已在我的数据库中注册.
app.directive('uniqueEmail', function($http) {
var toId;
return {
restrict: 'A',
require: 'ngModel',
link: function(scope, elem, attr, ctrl) {
//when the scope changes, check the email.
scope.$watch(attr.ngModel, function(value) {
// if there was a previous attempt, stop it.
if(toId) clearTimeout(toId);
// start a new attempt with a delay to keep it from
// getting too "chatty".
toId = setTimeout(function(){
// call to some API that returns { isValid: true } or { isValid: false }
$http.get('check/e/' + value).success(function(data) {
//set the …Run Code Online (Sandbox Code Playgroud) 我有另一个ng-repeat内心ng-repeat.在第二个,我想通过$index和$parent.$index一个函数(使用ng-click或tooltip),我没有得到正确的索引.
为了使它工作,我需要使用$parent.$index和$parent.$parent.$index.
奇怪的是,我只需要为第二次重复这样做.这些值似乎只有在内部时才会出错ng-click或tooltip(如果我在ng-repeat中显示它们是正确的)
我做了一个plunker所以你可以看到结果:http://plnkr.co/edit/K6jWTffe8BqgLZhFIbHL?p = preview
<!DOCTYPE html>
<html>
<head>
<link data-require="bootstrap-css@~3.1.1" data-semver="3.1.1" rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" />
<script src="https://code.angularjs.org/1.3.0-beta.17/angular.js" data-semver="1.3.0-beta.17" data-require="angular.js@1.3.0-beta.17"></script>
<script data-require="ui-bootstrap@0.11.0" data-semver="0.11.0" src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.11.0.min.js"></script>
<link href="style.css" rel="stylesheet" />
<script>
var app = angular.module('myApp', ['ui.bootstrap']);
app.controller('MainCtrl', function($scope) {
$scope.data = [
{id: "1", text: "text 1", more: [
{id_more: "10", text_more: "text more 10"},
{id_more: "11", text_more: "text more …Run Code Online (Sandbox Code Playgroud) 我希望能够从我的快速路由文件向连接到socket.io服务器的客户端发送数据.
我的app.js看起来像这样:
var express = require('express');
var app = express();
//routes
require('./routes/test')(app);
// starting http server
var httpd = require('http').createServer(app).listen(8000, function(){
console.log('HTTP server listening on port 8000');
});
var io = require('socket.io').listen(httpd, { log: false });
io.on('connection', function(socket){
socket.join("test");
socket.on('message', function(data){
.....
});
});
module.exports = app;
Run Code Online (Sandbox Code Playgroud)
我的test.js文件:
module.exports = function(app){
app.post('/test', function(req, res){
.....
//I would like here be able to send to all clients in room "test"
});
};
Run Code Online (Sandbox Code Playgroud) 我有这个字符串:
Hey I love #apple and #orange and also #banana
Run Code Online (Sandbox Code Playgroud)
我想提取以#符号开头的每个单词.
目前我正在使用此代码实现它:
var last = 0;
var n = 0;
var str = "Hey I love #apple and #orange and also #banana";
do{
n = str.indexOf("#", last);
if(n != -1){
//The code found the # char at position 'n'
last = n+1; //saving the last found position for next loop
//I'm using this to find the end of the word
var suffixArr = [' ', '#'];
var e …Run Code Online (Sandbox Code Playgroud) 我需要在div上设置一个高度,我想相对于设备屏幕设置它.
对于ie:
/*Extra small devices Phones (<768px)*/
.myClass { height: 200px; }
/*Small devices Tablets (?768px)*/
.myClass { height: 400px; }
/*Medium devices Desktops (?992px)*/
.myClass { height: 600px; }
/*Large devices Desktops (?1200px)*/
.myClass { height: 800px; }
Run Code Online (Sandbox Code Playgroud) angularjs ×3
express ×2
node.js ×2
socket.io ×2
autocomplete ×1
css ×1
javascript ×1
regex ×1
session ×1
string ×1