小编jml*_*mls的帖子

表达4.0,带有奇怪警告信息的快速会话

我正在尝试使用express 4.x设置nodejs应用程序.在遇到中间件删除问题后,我终于开始工作了.

但是,以下代码行中有几条警告消息:

app.use(session({secret: '<mysecret>'})
Run Code Online (Sandbox Code Playgroud)

这些警告是:

Sun, 29 Jun 2014 12:45:10 GMT express-session deprecated pass resave option; default value will change at lib\config\express.js:55:11

Sun, 29 Jun 2014 12:45:10 GMT express-session deprecated pass saveUninitialized option; default value will change at lib\config\express.js:55:11
Run Code Online (Sandbox Code Playgroud)

在文档中,resave和saveUninitialized的默认值为true.

所以,改变代码来阅读

app.use(session({secret: '<mysecret>', 
                 saveUninitialized: true,
                 resave: true}));
Run Code Online (Sandbox Code Playgroud)

摆脱了警告.

所以,要谈到问题的重点:

如果它们是默认值,为什么我必须传递这些值,为什么我不必传递其他选项?

node.js express

104
推荐指数
3
解决办法
3万
查看次数

从组件内调用ember组件操作

我正在创建一个组件来包装select2选择框.代码如下:

App.FixedSelectComponent = Ember.Component.extend({
  actions: {
    change: function(value) {
      this.set('selectedValue',value);
    }
  },

didInsertElement : function(){
  this.$("#select1").select2().on("change", function(e) {
      if ($.isArray(e.val)) {
          $.each(e.val, function(index,value) {
              console.log("multiple:",value.split('>')[2].split('<')[0]);
             // send to change
          });             
      } else {
          console.log("single:",e.val.split('>')[2].split('<')[0]);  
          // send to change
      }
    });
  },

  willDestroyElement : function() {
    this.$("#select1").select2('destroy');
},

});
Run Code Online (Sandbox Code Playgroud)

但是,我所坚持的是如何将我在on("change")事件中获得的数据发送到action:更改我已经定义的,或者我是否可以在on中设置selectedValue属性("改变")事件

"this"不是"// send to change"行的组件 - 此时我如何/在何处获得对组件本身的引用?

基本上我想要实现的是将传递给select2的"change"事件的数据放入我的selectedValue属性中

谢谢

ember.js

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

隐藏未在网格模板区域中指定的元素

我正在尝试通过css-grid grid-template-areas选项理解和工作.

给出这个HTML

<div class="wrapper">
  <div class="d">D</div>
  <div class="b">B</div>
  <div class="c">C</div>
  <div class="a">A</div>
</div>
Run Code Online (Sandbox Code Playgroud)

这个css

.wrapper {
    grid-template-areas: "areaA areaB areaC areaD" 
}

.A { grid-area: areaA; }
.B { grid-area: areaB; }
.C { grid-area: areaC; }
.D { grid-area: areaD; }
Run Code Online (Sandbox Code Playgroud)

我得到(预期)以下结果

A B C D
Run Code Online (Sandbox Code Playgroud)

现在,如果我添加媒体查询,并希望隐藏列B,C和D.

@media (min-width: 500px) {
    .wrapper {
        grid-template-areas: "areaA";
    }

    .B {
        display: none;
    }

    .C {
        display: none;
    }

    .D {
        display: none;
    }
}
Run Code Online (Sandbox Code Playgroud)

这也有效:

A
Run Code Online (Sandbox Code Playgroud)

现在,我删除了display:none条目,希望因为没有提到 …

css css3 css-grid

9
推荐指数
1
解决办法
2657
查看次数

css网格可变列宽和换行

我有一个我认为很简单的任务:给定 x 个项目,将它们显示在网格中,每列都是内容的宽度。如果列数超过容器的宽度,则创建新行并继续

我已经设法让列显示和换行,但前提是我为列定义了固定宽度

https://stackblitz.com/edit/angular4-dxkvmt

如何使每行上的每个“标签”适合内容,但当标签数量超出可用视图空间时移动到新行?

我努力了

grid-template-columns: repeat(auto-fill,max-content);
Run Code Online (Sandbox Code Playgroud)

这为每个标签提供一行

grid-template-columns: repeat(auto-fill,minmax(20px,max-content));
Run Code Online (Sandbox Code Playgroud)

使所有列都是 20px ..但它们在调整大小时确实可以正常流动

希望得到一些指点。我对 CSS 网格不是特别熟练,所以可能忽略了一些简单的事情

css css-grid

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

重新连接tcpsocket(或如何检测关闭的套接字)

我有一个连接到服务器的ruby tcpsocket客户端.

在发送数据之前,如何检查套接字是否已连接?

我是否尝试"解救"断开连接的tcpsocket,重新连接然后重新发送?如果是这样,有没有人有一个简单的代码示例,因为我不知道从哪里开始:(

我很自豪能够在rails中获得持久连接的客户端tcpsocket.然后服务器决定杀死客户端,这一切都崩溃了;)

编辑

我已经使用这段代码解决了一些问题 - 如果没有连接它将尝试重新连接,但如果服务器关闭(它将继续重试)将无法处理.这是正确方法的开始吗?谢谢

def self.write(data)
  begin
    @@my_connection.write(data)
  rescue Exception => e  
    @@my_connection = TCPSocket.new 'localhost', 8192
    retry
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails-3

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

如何以编程方式从 VS Code 中的当前终端打开新终端?

我正在 vsCode 终端内运行 bash 脚本。我希望能够在另一个终端中启动“docker exec”shell,垂直分割。

我知道如何使用 vscode 键和菜单创建多个终端,但正在寻找一种实现相同结果的编程方式。

VS Code 终端 cli 似乎没有任何选项 - 所以我想知道这是否可能。

visual-studio-code vscode-extensions

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

nodejs重新连接网络连接

我有一个到套接字的网络客户端连接(使用net.createConnection(端口,主机).这很好用.

但是,有时服务器可能会丢弃连接,我希望网络连接在服务器备份和运行时自动重新连接

我可以捕获on('end')事件以捕获初始断开连接,并尝试重新连接.

但是,我如何检查客户端是否已连接,因为我想在退避策略上每n毫秒重试一次

node.js

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

将可选参数传递给require()

所以,我有这个问题 - 当我遇到JavaScript或节点的问题时,不可避免的是我的编码就是问题;)

因此存在嘲笑的风险,这就是问题所在:

我有一个模块,它有一个config的可选参数

使用标准模式,这就是我所拥有的:

module.exports = function(opts){
    return {
        // module instance
    };
}
Run Code Online (Sandbox Code Playgroud)

在调用代码中有这个

var foo = require('bar')({option: value})
Run Code Online (Sandbox Code Playgroud)

如果没有选项可以传递,代码看起来像这样

var foo = require('bar')({})
Run Code Online (Sandbox Code Playgroud)

哪种看起来很难看

所以,我想这样做

var foo = require('bar')
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为导出是一个函数调用

所以,问题的关键

a)有没有办法实现这个崇高的目标?b)是否有更好的模式将参数传递给模块?

非常感谢 - 我希望一旦笑声过去,你将能够以我的方式发送一些帮助:)

node.js node-modules

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

面板布局内的bootstrap形式看起来不对

如果我在引导程序面板中定义了一个表单,那么表单组布局就会变成碎片.

在此输入图像描述

我将表格涂成红色,以便我可以看到它的位置;)这里是jsFiddle:https://jsfiddle.net/DTcHh/

我发现如果我添加

.panel-body .form-horizontal .form-group {
    margin-right: 25px;
    margin-left: 25px;
}
Run Code Online (Sandbox Code Playgroud)

到了css,然后我得到了这个

在此输入图像描述

(我将表格涂成红色,以便我可以看到它的位置;))

所以它看起来像是固定的,但对我来说似乎是一个可怕的黑客

  • 这是bootstrap中的错误
  • 我只需要申请这个CSS
  • 我的表单定义有问题吗?

谢谢

css twitter-bootstrap-3

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

Angular 1.5组件属性的默认值

我正在编写一个具有多个属性的组件,如果没有提供,我想要默认为一个值.

虽然我知道我可以像这样在组件控制器中测试这些属性的存在,

this.foo = angular.isUndefined(this.foo) ? 'Light Blue' : this.foo;
Run Code Online (Sandbox Code Playgroud)

我在想,如果有在提供缺省值的更优雅的方式binding本身

.component('myComponent', {
        bindings: {
            foo: '<?Light Blue'
        },
Run Code Online (Sandbox Code Playgroud)

或类似的东西

angularjs

5
推荐指数
0
解决办法
1089
查看次数

使用cheerio查找并替换某些属性

我有一个与此类似的 html 片段

<div class="form-row">
  <input type="text" id="foo1">
</div>
<div class="form-row">
 <input type="text" id="foo2">
</div>
<div class="form-row">
  <input type="text" id="foo3">
</div>
Run Code Online (Sandbox Code Playgroud)

我想使用cheerio将id标签更改为foobar[1,2,3]

我的代码是

 var cheerio = require("cheerio");
 var $ = cheerio.load("html as above");

 var inputs = $('input[id]');

 Object.keys(inputs).forEach(function(key,index) {
   if (key == index) {
     console.log(key,inputs[key])
     //#1
 });
Run Code Online (Sandbox Code Playgroud)

此时(//#1),我想获取 id 属性的值,根据https://github.com/cheeriojs/cheerio上的文档,我可以使用 .data 方法来获取和更改元素中的属性,但是

inputs[key].data("id")
Run Code Online (Sandbox Code Playgroud)

给我一个“TypeError:未定义不是函数”错误

我知道我错过了一些简单的东西,但看不到树木的木材,并且希望得到一些指示。

谢谢

更新#1

正当我以为我已经抓住了它时,它却从我的手指上滑落了……

现在,我想移动一个元素:

我有

<label>xyz<i class="fa fa-list"></i></label>
Run Code Online (Sandbox Code Playgroud)

而且我要

<label>xyz</label><i class="fa fa-list"></i>
Run Code Online (Sandbox Code Playgroud)

代码 - 不起作用;) - 是这个

var icons = $('label i');

icons.each(function(index,icon) …
Run Code Online (Sandbox Code Playgroud)

javascript html-parsing cheerio

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