我想保留一个中心.scss文件,该文件存储项目的所有SASS变量定义.
// _master.scss
$accent: #6D87A7;
$error: #811702;
$warning: #F9E055;
$valid: #038144;
// etc...
Run Code Online (Sandbox Code Playgroud)
由于其性质,该项目将包含大量CSS文件.重要的是我在一个位置声明所有项目范围的样式变量.
有没有办法在SCSS中做到这一点?
APIchart.js允许用户编辑加载到其中的数据集的点,例如:
.update( )在Chart实例上调用update()将使用任何更新的值重新渲染图表,允许您编辑多个现有点的值,然后在一个动画渲染循环中渲染它们.
.addData( valuesArray, label )在Chart实例上调用addData(valuesArray,label),为每个数据集传递一个值数组,以及这些点的标签.
.removeData( )在Chart实例上调用removeData()将删除图表上所有数据集的第一个值.
所有这些都很棒,但我无法弄清楚如何加载一个全新的数据集,消除旧的数据集.文档似乎没有涵盖这一点.
我在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文件中同步加载时按正确顺序粘贴它们,有什么区别?
我试图让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文件.
我错过了什么?
我个人喜欢三元运算符,并且在我看来,他们使复杂的表达式很容易消化.拿这个:
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语句,但不知道是否还有其他选择.
好吧,我花了一个多星期的时间试图弄清楚这一点无济于事,所以如果有人有线索,你就是英雄.这不是一个容易回答的问题,除非我是个笨蛋.
我正在使用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) 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) 为了在 Babel 中进行运行时转换,您需要 require 并使用babel-core/register. 我不知道register在这个意义上是什么意思,即实际定义。
这实际上意味着什么?
我有一个独特的问题,我需要使用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)
我怎样才能检查这些命令的存在?
我有一个使用一个项目Compass有SASS/SCSS.这是一个单页面应用程序.
我有一个拥有所有我的主人.scss文件variables,mixins并function声明.
//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没有任何实际的类声明,因此加载模块时没有重复的导入.
现在,我更喜欢使用@extend过mixins,我是在重复相同的代码.如:
.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) javascript ×6
node.js ×3
css ×2
sass ×2
socket.io ×2
babeljs ×1
chart.js ×1
command ×1
compass-sass ×1
definition ×1
dictionary ×1
eslint ×1
html ×1
json ×1
path ×1
synchronous ×1