小编vit*_*y-t的帖子

检测换行符类型

在 JavaScript 中确定文本中使用的换行符类型的最有效(足够快速和可靠)方法是什么 - Unix 与 Windows。

在我的 Node 应用程序中,我必须读取大型 utf-8 文本文件,然后根据它们是使用 Unix 还是 Windows 换行符来处理它们。

当断线的类型不确定时,我想根据最有可能的断线来得出结论。

更新

根据我在下面的回答,我最终使用的代码是.

javascript node.js

6
推荐指数
3
解决办法
3687
查看次数

实现Promise.all和Promise.settle的混合

我需要实现一个版本Promise.all,它将采用一系列的promises并返回结果,并且还会解决所有的承诺,就像Promise.settle在Bluebird库中一样,除了我不能使用Bluebird,并且必须依赖于标准承诺协议.

实施起来会非常复杂吗?或者在这里问一下如何实现它的想法太过分了?我真的希望不是,所以我问,如果有人可能之前实现它,分享如何做到正确的想法.

这样做的前提是能够在需要执行commit/ rollback一旦调用完成的数据库事务中使用它,并且它仍然没有松散的承诺仍然试图在事务调用之外解析.

编辑:提供给另一个问题的链接非常有用,但它并不是对所提问题的完整答案.泛型settle是一个很好的例子,它有很多帮助,但它需要简化并包装成all逻辑以适应前面描述的事务场景.

javascript promise bluebird

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

为测试模拟流`error`事件

我正在使用最新的istanbul + jasmine-node来编写我的所有测试脚本.

在一些地方,我有一个可读的流可能会发出error事件,我不知道如何在测试环境中模拟这样的事件,以提供代码覆盖.

请问有人建议如何处理这个问题吗?

stream node.js jasmine jasmine-node istanbul

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

没有`.then`的承诺

使用仅有.catch部分的承诺是否有任何缺点,但完全没有.then?

我问的是不需要解析结果的情况,只是错误处理.

这是一个.catch只依赖并跳过的好模式.then吗?

或者它取决于它的承诺实施是什么?

promise

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

检测 Node.js 中的隐藏/系统文件和文件夹

我使用fs.readdir通过递归枚举文件和文件夹,然后使用fs.stat为每个文件获取可访问性详细信息。

我需要根据fs.stat的信息检测所有隐藏文件和系统文件,以便我可以从枚举中跳过它们。

我知道我们获得的属性mode应该对我们有帮助,但我不知道如何正确使用它,因此它可以在每个操作系统上运行。

PS我看到这个问题:How to ignore hide files in fs.readdir result,但答案不好。

fs node.js

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

如何使用pg-promise帮助器返回插入查询结果值

我正在使用pgp.helpers.insert将数据保存到运行良好的PostgreSQL中。但是,我需要返回值以呈现在响应中。我在用:

this.collection.one(this.collection.$config.pgp.helpers.insert(values, null, 'branch'))
Run Code Online (Sandbox Code Playgroud)

它不返回任何数据。

我想要做的是在成功插入后返回分支ID,例如:

INSERT into branch (columns) VALUES (values) RETURNING pk_branchID
Run Code Online (Sandbox Code Playgroud)

postgresql node.js pg-promise

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

将postgres与nodejs一起用于连接池

我正在使用nodejs作为我的REST api主机。整体功能非常基础。也就是说,进行一个REST调用,该调用应该执行postgres db查询并返回数据。我遇到的问题是整个代码的组织。

我有具有基本初始化的server.js。现在,我应该在哪里放置postgres连接,并在需要时调用它来查询db。当前结构如下。所以我认为我应该将postgres连接代码移到server.js?什么是正确的结构

server.js

"use strict";

 var express = require('express'),
  app = express(),
  port = process.env.PORT || 4001,
  bodyParser = require('body-parser');

  app.use(bodyParser.urlencoded({ extended: true }));
  app.use(bodyParser.json());
  app.use(function (req, res, next) {

    // Website you wish to allow to connect
    res.setHeader('Access-Control-Allow-Origin', '*')
    // Request methods you wish to allow
    res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
    // Request headers you wish to allow
    res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
    // Set to true if you need the website to include cookies in the requests …
Run Code Online (Sandbox Code Playgroud)

node.js node-postgres

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

jsdom 错误:utf-8 未被识别为 HTML 编码

我正在尝试用jsdomand做最简单的事情jest- 加载 HTML 文件来测试它的 DOM:

const jsdom = require('jsdom');
const {JSDOM} = jsdom;

JSDOM.fromFile('../src/index.html'), {})
    .then(dom => {
        console.log(dom.serialize());

        // need to run tests here...
    })
    .catch(error => {
        console.log(error);
    });
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

错误:无法识别编码:“UTF-8”(搜索为:“utf8”)

我在这里的图书馆发现了同样的问题,该问题已关闭,没有提供任何解决方案。

花了很多时间后,我很困惑我找不到任何解决方案来完成这样一个基本任务:(

知道如何克服这个问题吗?

javascript jsdom jestjs

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

如何用笑话测试“this”调用上下文?

如何测试jest函数是否在正确的this上下文中被调用?

我只能找到如何使用toHaveBeenCalledWith测试传入的参数。但它不测试this上下文,而且我找不到任何其他 API 或示例。

jestjs

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

Angular 类名中的自定义后缀

是否可以将 Angular 7(使用 CLI 7.x)项目配置为使用默认后缀以外的类名后缀?

更具体地说,对于表示对话框的类,我想Dialog在最后使用,而不是DialogComponent,这会不必要地长。对于代表我想要使用的页面的类Page,而不是PageComponent.

例子:

  • 使用LoginDialog代替LoginDialogComponent
  • 使用MainPage代替MainPageComponent

由于tslintAngular 中预设的规则,简单的重命名是不可能的。

angular-cli angular angular7

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