小编dth*_*ree的帖子

SASS - 在多个文件中使用变量

我想保留一个中心.scss文件,该文件存储项目的所有SASS变量定义.

// _master.scss 

$accent: #6D87A7;           
$error: #811702;
$warning: #F9E055;
$valid: #038144;
// etc... 
Run Code Online (Sandbox Code Playgroud)

由于其性质,该项目将包含大量CSS文件.重要的是我在一个位置声明所有项目范围的样式变量.

有没有办法在SCSS中做到这一点?

css sass

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

chart.js加载全新的数据

APIchart.js允许用户编辑加载到其中的数据集的点,例如:

.update( )

在Chart实例上调用update()将使用任何更新的值重新渲染图表,允许您编辑多个现有点的值,然后在一个动画渲染循环中渲染它们.

.addData( valuesArray, label )

在Chart实例上调用addData(valuesArray,label),为每个数据集传递一个值数组,以及这些点的标签.

.removeData( )

在Chart实例上调用removeData()将删除图表上所有数据集的第一个值.

所有这些都很棒,但我无法弄清楚如何加载一个全新的数据集,消除旧的数据集.文档似乎没有涵盖这一点.

javascript chart.js

76
推荐指数
10
解决办法
13万
查看次数

JS - 无法组合lib文件

我在index.html文件中有多个lib文件,它们按正确顺序加载到我正在运行的应用程序中.

<!-- example of some of them... -->
<script src="/./sys/lib/jquery.min.js"></script>
<script src="/./sys/lib/jquery.ui.min.js"></script>
<script src="/./sys/lib/jquery.easing.min.js"></script>
<script src="/./sys/lib/underscore.min.js"></script>
<script src="/./sys/lib/handlebars.min.js"></script>
<script src="/./sys/lib/backbone.min.js"></script>
<script src="/./sys/lib/moment.min.js"></script>
<script src="/./sys/lib/libs.extensions.js"></script>
Run Code Online (Sandbox Code Playgroud)

它们运行良好,它们已经全部缩小了.

现在,我想将这些全部组合到一个文件中以加载速度:

<script src="/./sys/lib/libs.all.js"></script>
Run Code Online (Sandbox Code Playgroud)

所以我打开新libs.all.js文件,逐个将缩小的.js文件粘贴到其中,修改,按照与上面列出的完全相同的顺序.这有效,直到我到达moment.js.当我将其粘贴并运行它时,我得到一个JS错误.

TypeError: (intermediate value)(...) is not a function
Run Code Online (Sandbox Code Playgroud)

我没有得到我所缺少的东西 - 如果我在HTML文件中同步加载时按正确顺序粘贴它们,有什么区别?

html javascript shared-libraries synchronous

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

Socket.IO客户端.js文件位于何处?

我试图让socket.io(节点库)工作.

我有服务器端的js工作,它正在听.socket.io网站简单地说:

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io.connect('http://localhost');
  socket.on('news', function (data) {
    console.log(data);
    socket.emit('my other event', { my: 'data' });
  });
</script>
Run Code Online (Sandbox Code Playgroud)

这很好,但是我导入的JS文件是什么!?!

我进入了node_modules目录,在那里我通过npm安装了socket.io,里面socket.io/lib/socket.io.js文件.但是,这是服务器端(使用短语require(),客户端上的错误).

我花了一个小时环顾四周,我无法获得任何客户端.js文件.

我错过了什么?

javascript node.js socket.io

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

替代JS中的嵌套三元运算符

我个人喜欢三元运算符,并且在我看来,他们使复杂的表达式很容易消化.拿这个:

  word = (res.distance === 0) ? 'a'
    : (res.distance === 1 && res.difference > 3) ? 'b'
    : (res.distance === 2 && res.difference > 5 && String(res.key).length > 5) ? 'c'
    : 'd';
Run Code Online (Sandbox Code Playgroud)

但是在我们项目的ESLINT规则中,嵌套的三元运算符是被禁止的,所以我必须摆脱上述情况.

我试图找出这种方法的替代方案.我真的不想把它变成一个巨大的if/else语句,但不知道是否还有其他选择.

javascript ternary-operator eslint

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

Node.js http-proxy丢弃websocket请求

好吧,我花了一个多星期的时间试图弄清楚这一点无济于事,所以如果有人有线索,你就是英雄.这不是一个容易回答的问题,除非我是个笨蛋.

我正在使用node-http-proxy来代理在不同端口上运行的16个node.js工作者的粘性会话.

我使用Socket.IO的Web套接字来处理一堆不同类型的请求,并使用传统请求.

当我通过node-http-proxy将服务器切换到代理时,一个新的问题随之而来,我的Socket.IO会话有时无法建立连接.

我确实无法在我的生活中稳定地重现它,唯​​一的方法是将其从多个客户端投入大量流量到服务器.

如果我重新加载用户的浏览器,它有时可能会重新连接,有时不会重新连接.

粘性会话

我必须代理粘性会话,因为我的应用程序基于每个工作人员进行身份验证,因此它根据其Connect.SID cookie(我正在使用connect/express)路由请求.

好的,一些代码

这是我的proxy.js文件,它在节点中运行并路由到每个worker:

var http = require('http');
var httpProxy = require('http-proxy');

// What ports the proxy is routing to.
var data = {
  proxyPort: 8888,
  currentPort: 8850,
  portStart: 8850,
  portEnd: 8865,
};

// Just gives the next port number.
nextPort = function() {
  var next = data.currentPort++;
  next = (next > data.portEnd) ? data.portStart : next;
  data.currentPort = next;
  return data.currentPort;
};

// A hash of Connect.SIDs for sticky sessions.
data.routes = …
Run Code Online (Sandbox Code Playgroud)

javascript node.js socket.io node-http-proxy

22
推荐指数
1
解决办法
4731
查看次数

JS - 深层地图功能

Underscore.js有一个非常有用的map功能.

_.map([1, 2, 3], function(num){ return num * 3; });
=> [3, 6, 9]
_.map({one: 1, two: 2, three: 3}, function(num, key){ return num * 3; });
=> [3, 6, 9]
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个类似的函数,可以迭代嵌套对象或深度映射.经过大量的搜索,我真的找不到这个.我能找到的东西是采摘深层物体,但不能遍历深层物体的每个值.

像这样的东西:

deepMap({
  one: 1,
  two: [
    { foo: 'bar' },
    { foos: ['b', 'a', 'r', 's'] },
  ],
  three: [1, 2, 3]
}, function(val, key) {
  return (String(val).indexOf('b') > -1) ? 'bobcat' : val;
})
Run Code Online (Sandbox Code Playgroud)

怎么会这样做?

样本输出

{
  one: 1,
  two: [
    { foo: …
Run Code Online (Sandbox Code Playgroud)

javascript json dictionary

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

“babel/register”中的“register”是什么意思

为了在 Babel 中进行运行时转换,您需要 require 并使用babel-core/register. 我不知道register在这个意义上是什么意思,即实际定义。

该页面不是很有帮助。

这实际上意味着什么?

definition babeljs

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

节点 - 检查路径中命令的存在

我有一个独特的问题,我需要使用Node迭代几个Unix风格的命令,看看它们是否存在于pathWindows安装中.

例如,Windows本身不支持ls.但是,假设有人安装git并检查了包含Unix命令,它会.

我需要知道系统中是否有ls其他命令path.

现在,我正在使用每个命令child_process运行help.然后我检查运行它的响应.这是混乱和危险的.我不想从Node运行30个任意命令:

var spawnSync = require('child_process').spawnSync;
var out = spawnSync('ls', ['/?'], {encoding: 'utf8'});
Run Code Online (Sandbox Code Playgroud)

我怎样才能检查这些命令的存在?

command path node.js

9
推荐指数
3
解决办法
4050
查看次数

SASS - 跨多个文件扩展类

我有一个使用一个项目CompassSASS/SCSS.这是一个单页面应用程序.

我有一个拥有所有我的主人.scss文件variables,mixinsfunction声明.

//Master.scss 
$foo: 'bar';

@function border($color) {
  @return 1px solid $color;
}

// etc.
Run Code Online (Sandbox Code Playgroud)

我有一个base.scss文件,具有主UI的CSS.

我的系统在加载后使用AMD稍后导入其他模块.这意味着一些样式表在事后加载.

每个模块,或'App的样式表导入master .scss文件,其中包含所有变量等.master.scss没有任何实际的类声明,因此加载模块时没有重复的导入.

现在,我更喜欢使用@extendmixins,我是在重复相同的代码.如:

.a { @extend .stretch; }
Run Code Online (Sandbox Code Playgroud)

代替:

.a { @include stretch(); },
Run Code Online (Sandbox Code Playgroud)

哪两个都产生相同的结果:

.a { position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; }
Run Code Online (Sandbox Code Playgroud)

做一个extend更好,因为那个代码的重复不会遍布整个地方.这样做:

.stretch { @include stretch() }
.a { @extend .stretch; }
.b { @extend .stretch; }
.c { @extend …
Run Code Online (Sandbox Code Playgroud)

css sass compass-sass

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