我有一个数据库包装类,它建立与某些MongoDB实例的连接:
async connect(connectionString: string): Promise<void> {
this.client = await MongoClient.connect(connectionString)
this.db = this.client.db()
}
Run Code Online (Sandbox Code Playgroud)
这给了我一个警告:
(node:4833)DeprecationWarning:不推荐使用当前的URL字符串解析器,将来的版本将删除它.要使用新的解析器,请将选项{useNewUrlParser:true}传递给MongoClient.connect.
该connect()方法接受一个MongoClientOptions实例作为第二个参数.但它没有一个叫做的属性useNewUrlParser.我还尝试在连接字符串中设置这些属性,如下所示:mongodb://127.0.0.1/my-db?useNewUrlParser=true但它对这些警告没有影响.
那么如何设置useNewUrlParser删除这些警告?这对我很重要,因为脚本应该以cron身份运行,而这些警告会导致垃圾邮件垃圾邮件.
我mongodb在版本中使用驱动程序3.1.0-beta4和相应的@types/mongodb包3.0.18.它们都是最新的可用npm install.
使用旧版本的mongodb驱动程序:
connect()
我正在运行gulp 3.6.2并具有从在线示例设置的以下任务
gulp.task('watch', ['default'], function () {
gulp.watch([
'views/**/*.html',
'public/**/*.js',
'public/**/*.css'
], function (event) {
return gulp.src(event.path)
.pipe(refresh(lrserver));
});
gulp.watch(['./app/**/*.coffee'],['scripts']);
gulp.watch('./app/**/*.scss',['scss']);
});
Run Code Online (Sandbox Code Playgroud)
任何时候我的CoffeeScript gulp手表都会出现错误停止 - 显然不是我想要的.
gulp.watch(['./app/**/*.coffee'],['scripts']).on('error', swallowError);
gulp.watch('./app/**/*.scss',['scss']).on('error', swallowError);
function swallowError (error) { error.end(); }
Run Code Online (Sandbox Code Playgroud)
但它似乎没有用.
我究竟做错了什么?
为了回应@Aperçu的回答,我修改了我的swallowError方法并尝试了以下方法:
gulp.task('scripts', function () {
gulp.src('./app/script/*.coffee')
.pipe(coffee({ bare: true }))
.pipe(gulp.dest('./public/js'))
.on('error', swallowError);
});
Run Code Online (Sandbox Code Playgroud)
重新启动,然后在我的咖啡文件中创建语法错误.同样的问题:
[gulp] Finished 'scripts' after 306 ?s
stream.js:94
throw er; // Unhandled stream error in pipe.
^
Error: W:\bariokart\app\script\trishell.coffee:5:1: error: unexpected *
*
^
at …Run Code Online (Sandbox Code Playgroud) 我有一个水平导航菜单,基本上只是一个<ul>元素并排设置.我没有定义宽度,只是使用填充,因为我希望宽度由菜单项的宽度定义.我加粗了当前所选的项目.
麻烦的是,在粗体中,单词变得稍微宽一些,这导致其余元素稍微向左或向右移动.有没有一种聪明的方法可以防止这种情况发生?告诉padding忽略由粗体引起的额外宽度的问题?我的第一个想法是简单地从"活动"元素的填充中减去几个像素,但这个数量会有所不同.
如果可能的话,我想避免在每个条目上设置静态宽度然后居中而不是我当前拥有的填充解决方案,以便将来对条目的更改变得简单.
我有一个iframe加载第三方网站,加载速度极慢.
有没有办法我可以显示加载消息,而iframe加载用户没有看到一个大的空格?
PS.请注意,iframe是针对第三方网站的,因此我无法在其页面上修改/注入任何内容.
正在压缩的js文件以相同的文件名输出.
gulp.task('compressjs', function () {
gulp.src('app/**/*.js')
.pipe(uglify())
.pipe(gulp.dest('dist'));
});
Run Code Online (Sandbox Code Playgroud)
我如何让它min.js在后面输出文件?
我一直在尝试编写两个管道函数,一个编译较少的文件,另一个编译这些文件.我想学习如何为更复杂的插件编写转换流/管道.
所以我想知道如何从另一个管道读取数据,以及如何更改该数据并将其发送到下一个管道.这是我到目前为止:
gulp.src(sources)
.pipe(through.obj(function (chunk, enc, cb) {
var t = this;
// console.log("chunk", chunk.path);
fs.readFile(chunk.path, enc, function (err,data) {
if (err) { cb(err); }
less.render(data, {
filename : chunk.path,
sourceMap : {
sourceMapRootpath : true
}
})
.then(function (outputCss) {
// console.log("less result",outputCss);
t.push(chunk);// or this.push(outputCss) same result
cb();
});
});
}))
.pipe(through.obj(function (chunk, enc, cb) {
console.log("chunk", chunk.path); // not event getting called.
cb();
}))
Run Code Online (Sandbox Code Playgroud)
我无法获取outputCSS第二个管道中的每个文件.我该怎么发送?
我有一个网页,通过Ajax处理机器的远程控制.当用户离开页面时,我想自动断开与机器的连接.所以这是代码:
window.onbeforeunload = function () {
bas_disconnect_only();
}
Run Code Online (Sandbox Code Playgroud)
断开连接函数只是向PHP服务器端脚本发送HTTP GET请求,该脚本执行断开连接的实际工作:
function bas_disconnect_only () {
var xhr = bas_send_request("req=10", function () {
});
}
Run Code Online (Sandbox Code Playgroud)
这在FireFox中运行良好.但是使用Chrome时,根本不会发送ajax请求.有一种不可接受的解决方法:向回调函数添加警报:
function bas_disconnect_only () {
var xhr = bas_send_request("req=10", function () {
alert("You're been automatically disconnected.");
});
}
Run Code Online (Sandbox Code Playgroud)
添加警报调用后,将成功发送请求.但正如你所看到的,它根本不是一个可行的工作.
有人可以告诉我这是否可以通过Chrome实现?我正在做的事情看起来完全合法.
谢谢,
我正在编写d3.js用于生成许多图表和图形..但是当没有数据时,我只是附加svg文本并写入"无数据显示"并分配一些属性,如xy dy等..类似字体大小但是除了字体大小,每件事都有效.
为什么?这是我的代码
var svg = d3.select(selector).append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
if (!data.IssueTrendsDAO.issueTrendList) {
svg.append("text")
.attr("font-size","34px")
.attr("y", 79)
.attr("x", 40)
.attr("dy", ".47em")
.style("text-anchor", "start")
.style("fill", "#004669")
.style("font-weight", "bold")
.text("No data to display");
}
Run Code Online (Sandbox Code Playgroud) 我在后台页面中使用监听器来了解加载选项卡的时间:
chrome.tabs.onUpdated.addListener(function (tabId) { })
Run Code Online (Sandbox Code Playgroud)
但是监听器被解雇了两次:当页面开始加载时,以及页面何时完成.是否有办法区分这两种情况?
我使用的是ubuntu 14.04 LTS,我有nodejs(不是节点)和npm安装.我用了安装gulp npm install gulp -g.
但是我的命令gulp不起作用,它默默无声地返回!
