我正在使用react native编写应用程序,我希望能够使用jest框架测试我的代码并使用visual studio代码编辑器调试器来设置断点.我目前遇到的问题是无论我如何运行调试器,无论是通过生成新实例还是附加它,我似乎无法从babel中获取源映射.我在.babelrc文件中尝试过各种配置,但似乎都没有.
VScode版本 - 1.6.0(最新)
我的目录结构类似于此
-package.json
-node_modules
-.babelrc
-dist
-app
-myModule.js
-test
-myModule.spec.js
Run Code Online (Sandbox Code Playgroud)
然后在我的.babelrc中我有以下内容
{
"presets" : ["react-native"],
"sourceMaps" : true,
"outDir" : "./dist"
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试设置sourceMaps道具都true与inline两者没有与当前的工作launch.json配置.
这是我launch.json运行Jest测试器的
{
"name" : "Launch via jest",
"type": "node",
"request": "launch",
"program" : "${workspaceRoot}/node_modules/jest/bin/jest.js",
"cwd": "${workspaceRoot}",
"args": [
"--runInBand"
],
"runtimeArgs": [
"--harmony"
],
"sourceMaps": true,
"outDir" : "${workspaceRoot}/dist"
}
Run Code Online (Sandbox Code Playgroud)
两者--harmony并--runInBand有必要得到调试器,因为玩笑正常工作将产生一个子进程与端口冲突.
我的package.json中还有其他Jest配置
"jest": {
"preset": "jest-react-native"
}
Run Code Online (Sandbox Code Playgroud)
现在,无论何时我运行调试器,它都会运行,它会在babel输出的断点处停止,而不是原始源,这对于帮助不大.我还应该提一下,测试本身是由babel编译的,我不确定它是否重要. …
我试图在文本环绕图像的本地反应中实现非常常见的效果.在网络上,您可以float为图像指定属性并使用p标记进行跟踪.
.
这是我一直在研究的RNPlay示例.我认为我目前的方法有点hackish,并且没有正常工作,因为文本没有与图像的顶部对齐并且向下流动.有没有一个适当和干净的方法来实现这一目标?
这是一个典型的文件
{
title : 'someTitle',
places : [{name : 'someName', location : 'someLocation'}, {name ...}]
}
Run Code Online (Sandbox Code Playgroud)
我有以下查询
var qs = {title : 'someTitle', places : {$elemMatch : {name : 'someName' } } };
Run Code Online (Sandbox Code Playgroud)
我选择一个与标题匹配的文档,其中包含名称等于'someName'的'places'数组中的文档条目.但问题是places数组中的条目是大文档,我只需要该文档中的几个字段.我尝试像这样投射字段,但它没有用.
var projection = {'places.$.name': 1, 'places.$.location' : 1};
Run Code Online (Sandbox Code Playgroud)
应该返回一个包含仅包含'name'和'location'属性的文档的数组.
我收到以下错误
Can't canonicalize query: BadValue Cannot specify more than one positional proj. per query.
Run Code Online (Sandbox Code Playgroud)
要清楚,我想在没有聚合框架的情况下实现这一目标
我有一个想要显示为带有(border-radius:50%)的圆圈的图像,并且在同一行上我希望有一些具有设置宽度和背景的文本.我不想硬编码任何值.实现这一目标的最佳方法是什么?
<div class="header">
<img class="i" src="http://www.planwallpaper.com/static/images/colorful-triangles-background_yB0qTG6.jpg"/>
<p class="headingText">Hello</p>
</div>
Run Code Online (Sandbox Code Playgroud)
.i {
width: 80px;
height: 80px;
border-radius: 50%;
}
.headingText {
color: white;
background: black;
display: inline-block;
width: 350px;
padding-top: 10px;
padding-bottom: 10px;
text-align: center;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试测试WebRTC并希望显示我自己的流以及对等的流.我目前有一个简单的垫片来获取摄像机的流和管道到视频元素,但帧速率非常低.关于这一点的罕见之处在于,我可以尝试WebRTC网站上的示例,并且它们可以完美地工作..视频流畅且没有任何问题.我去控制台,我的代码类似于他们的......可能会发生什么?我试图创建一个小提琴,并在括号内运行该代码,但它仍然执行可怕.
video = document.getElementById('usr-cam');
navigator.mediaDevices.getUserMedia({video : {
width : {exact : 320},
height : {exact: 240}
}})
.then(function(stream){
if(navigator.mozGetUserMedia)
{
video.mozSrcObject = stream;
}
else
{
video.srcObject = stream;
}
})
.catch(function(e){
alert(e);
});
Run Code Online (Sandbox Code Playgroud)
几乎我所做的一切.考虑到我正在使用新的navigator.mediaDevices()API,navigator.getUserMedia()但我不知道这是多么重要,因为1.我正在使用由adapter.js他们自己使用的WebRTC组提供的垫片.2.我不认为你如何获得视频流会影响性能.
我正在尝试从头或尾修剪浏览器中视频的长度。我目前拥有的是使用 MediaRecorder API 录制的 MediaStream,我用它在录制结束时生成一个 Blob,类型设置为“video/mp4”。这很好用,我可以播放视频,但是我想要一种在开始或结束时修剪视频的方法。
在进一步研究 MediaStream API 后,我遇到了SourceBuffer对象,您可以从 MediaStreamTrack 获取该对象并使用它来删除时间片,这正是我想要的。但是我不确定如何从视频(blob)中获取 MediaStreamTrack,因为 video.srcObject 属性返回 null。
总体而言,我仍然对电子生态系统和桌面开发还不陌生,但是我想做的是与软件捆绑在一起的第三方开源应用程序进行交互。首先,我不确定要分发的软件包选项应该是什么。习惯上有两次下载,一次是针对已经安装了第三方二进制文件的用户,另一次是包含该二进制文件的用户?另外,我该如何实际打包和安装二进制文件?这应该是我package.json上的一个选项吗?我应该执行哪种脚本?是否有任何npm模块可简化此操作?
编辑 -是否可以从我的main.js中调用npm,即使用户先前未安装节点也是如此?我知道节点与电子封装捆绑在一起,但是npm也是吗?
-在这种情况下,二进制文件是PostgreSQL
我目前正在尝试使用express 4.x和socket io 1.4实现会话管理,引用此答案.问题是快速会话函数的第二个参数是res(响应)对象,它在我的路由中返回'undefined'.这个问题已经过时了还是我做错了什么?
var http = require('http');
var session = require('express-session')(
{
saveUninitialized : false,
resave:false,
secret:'secretstuff',
cookie : {
path : '/'
}
}
);
var express = require('express');
var app = express();
app.use(session)
var http_server = http.createServer(app);
var io = require('./sockets')(http_server,session);
Run Code Online (Sandbox Code Playgroud)
这是我的sockets.js
var Server = require('socket.io');
module.exports = function(http_server, session)
{
var io = new Server(http_server);
io.use(function(socket,next){
//socket.request.res === undefined
session(socket.request, socket.request.res,next);
})
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的地方
未捕获的TypeError:参数res是必需的
我正在使用流式multipart/form-data解析器来处理文件和字段上传.每当解析一个新的字段或文件时,就会触发一个事件并执行一些处理.解析'close'完所有字段和文件后,会触发一个事件,然后我会为请求调用终止函数.这是设置.
parser.on('fields',function(){
handleField(callback);
});
parser.on('close',function(){
dismiss();
})
Run Code Online (Sandbox Code Playgroud)
问题是处理字段可能需要一些时间,这使得'close'侦听器在我有机会从字段处理侦听器调用回调之前解除请求.
我试图使用setImmediate根据其描述的功能
在I/O和计时器回调之后,在事件队列中对其回调进行排队.
为了在dismiss()执行所有当前计划的回调后调用我的函数,但是这不起作用,我甚至尝试过process.nextTick()以防止订单被撤销,但没有这样的运气.
所以问题是,dismiss()只有在调用了处理函数的所有当前调度回调之后,我才能调用我的函数?
我有一个具有以下架构的文档
{
description : String,
tags : [String]
}
Run Code Online (Sandbox Code Playgroud)
我已将这两个字段都索引为文本,但问题是,每当我在数组中搜索特定字符串时,仅当该字符串是数组的第一个元素时,它才会返回文档。因此,似乎 $text 索引仅适用于第一个元素,这是 mongo 固有的工作方式还是有一个选项必须传递给索引?
示例文档
{
description : 'random description',
tags : ["hello", "there"]
}
Run Code Online (Sandbox Code Playgroud)
创建索引的对象
{description : 'text', tags : 'text'}
Run Code Online (Sandbox Code Playgroud)
查询
db.myCollection.find({$text : {$search : 'hello'}});
Run Code Online (Sandbox Code Playgroud)
返回一个文档但是
db.myCollection.find({$text : {$search : 'there'}});
Run Code Online (Sandbox Code Playgroud)
不返回任何内容。
使用版本2.6.11
我还有其他索引,但这些是唯一的文本索引。这是相应的输出db.myCollection.getIndexes()
{
"v" : 1,
"key" : {
"_fts" : "text",
"_ftsx" : 1
},
"name" : "description_text_tags_text",
"ns" : "myDB.myCollection",
"weights" : {
"description" : 1,
"tags" : 1
},
"default_language" …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个顶部带有标题的布局,下面是侧边栏和主要内容.
我想让侧边栏和内容视图接管标题留下的垂直空间.问题是标题可以动态重新调整大小,所以我无法执行calc().我的解决方案是使用flexbox方案.
我将视口水平分为两部分.一个是标题,一个是侧边栏和主要内容的包装.
侧边栏向左浮动并给出宽度的一定百分比,内容向右浮动并给出其余部分.
问题是我试图让侧边栏始终是包装器的100%高度.
我尝试过height: 100%,min-height: 100%但这些都行不通.
我不希望绝对定位它,因为如果包装器溢出主要内容,侧边栏将不会相应地扩展.
这是我的笔:http://codepen.io/markt5000/pen/JXNXpW
如您所见,橙色是标题,红色空间是侧边栏和内容的包装.
这是布局
<div class="header">
</div>
<div class="row">
<div id="sidebar">
</div>
<div id="main-content">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我想使用redis来存储我自己的一些键值对,但是我的一些模块已经使用它了.redis表示会话数据的会话存储,以及socket io的redis适配器.所以我的问题很简单,我如何创建或指定一个数据库/命名空间来存储我自己的密钥而不会发生密钥冲突?我正在使用node-redis驱动程序.
node.js ×4
css ×3
html ×3
css3 ×2
flexbox ×2
javascript ×2
mongodb ×2
react-native ×2
babeljs ×1
browser ×1
callback ×1
css-shapes ×1
debugging ×1
dom ×1
electron ×1
events ×1
express ×1
getusermedia ×1
html5-video ×1
installation ×1
jestjs ×1
mongoose ×1
namespaces ×1
node-redis ×1
package ×1
redis ×1
socket.io ×1
webrtc ×1