小编Fél*_*anz的帖子

使用ES6语法和动态路径导入模块

这有效:

import app from './../app.js';
Run Code Online (Sandbox Code Playgroud)

但这不是:

import app from path.join(process.cwd(), 'app');
Run Code Online (Sandbox Code Playgroud)

我越来越:

SyntaxError: /path/file.js: Unexpected token (5:16)
> 5 | import app from path.join(process.cwd(), 'app');
    |                 ^
Run Code Online (Sandbox Code Playgroud)

有可能(和/或如何)使用"动态"路径?(不是硬编码路径或依赖相对路径).

javascript module node.js ecmascript-6

47
推荐指数
2
解决办法
3万
查看次数

query_string和multi_match有什么区别?

运行此查询时:

{
  "query_string" : {
    "query" : "text",
    "fields": ["field1", "field2"]
  }
}
Run Code Online (Sandbox Code Playgroud)

-

{
  "multi_match" : {
    "query" : "text",
    "fields": ["field1", "field2"]
  }
}
Run Code Online (Sandbox Code Playgroud)

有什么不同?何时使用另一个?何时使用另一个?

lucene elasticsearch

13
推荐指数
1
解决办法
5613
查看次数

如何在React中管理标题,元标记等服务器渲染+流媒体?

有一些库管理<head>标签,例如:

反应-头盔

反应文档标题

反应-DOC-元

但是所有这些库在服务器渲染上共享相同的API:Rewind.

首先使用生成组件树renderToString(),然后调用library.rewind()以获取<head>数据.

当您使用react-dom-stream来流式传输组件树而不是将它们呈现为字符串时,就会出现问题.你不能rewind因为流还没有被消耗掉,当它被消耗时,它已经太晚了.

这里应该采用什么方法?

javascript meta title reactjs redux

11
推荐指数
1
解决办法
1678
查看次数

Q promises中的并发限制 - 节点

有没有任何方法可以使用Q promises库限制promises的并发性?

这个问题与我如何限制Q promise并发有关?

但问题是我正在尝试做这样的事情:

for (var i = 0; i <= 1000; i++) {
  return Q.all([ task1(i), task2(i) ]); // <-- limit this to 2 at a time.
}
Run Code Online (Sandbox Code Playgroud)

真实的用例是:

  1. 从DB中获取帖子
  2. 在DB中循环每个帖子 posts.forEach(function(post) {}
  3. 对于每个帖子做task1,task2,task3(检索社交计数器,检索评论计数等)
  4. 在DB中保存新的帖子数据.

但问题是节点同时执行所有帖子的所有任务,比如同时向facebook询问500个帖子的"喜欢计数".

我怎么能限制Q.all()所以一次只有2个帖子正在执行他们的任务?或者其他可能的解决方案适用于此?

注意:大多数任务(如果不是全部)都依赖于请求库

javascript concurrency asynchronous node.js q

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

在express/node中使用全局变量

尝试寻找解决方案时,我找到了 4 个解决方案,但我想知道哪一个更好/最佳实践。为什么!:P

1.使用req.app.get()

// app.js

app.set('settings', { domain: 'http://www.example.org' });

// other file

console.log(req.app.get('settings'));
Run Code Online (Sandbox Code Playgroud)

2.使用req.app.settings(与上面类似)

// app.js

app.set('settings', { domain: 'http://www.example.org' });

// other file

console.log(req.app.settings.settings);
Run Code Online (Sandbox Code Playgroud)

3.导出app对象,这样我就可以访问app.get()而无需req对象

// app.js

app.set('settings', { domain: 'http://www.example.org' });
module.exports = app;

// other file

var app = require('../app');
console.log(app.get('settings'));
Run Code Online (Sandbox Code Playgroud)

4. 使用全局变量。可能是个坏主意,但是……“设置”不是一个全局的东西吗?(我可以避免重复使用它,这样就不会出现范围问题)

// app.js

settings = { domain: 'http://www.example.org' };

// other file

console.log(settings);
Run Code Online (Sandbox Code Playgroud)

javascript scope global-variables node.js express

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

内联关键CSS值得吗?

当您在外部文件中阻止CSS时,Google Pagespeed会抱怨.在HTTP/1中这可能是有道理的,但现在使用HTTP/2呢?

如果你内联关键CSS(在首屏之上),那些字节仍然需要在文档呈现之前下载,解析和其他所有内容.

使用HTTP/2,不需要进行另一个连接,因为可以重用它,因此这不是开销.此外,通过服务器推送,您甚至可以在请求之前推送CSS文件.

那么......推荐关键的CSS仍然是推荐的东西吗?


我同意在重型网站中,您可能不想下载所有CSS.例如,如果您正在访问图库,您只需要gallery.css,而不是profile.css,而不是forum.css等.但是这可以通过块和其他技术进行管理(并且仍然使用外部css文件,无需内联他们)

内联还使CSS不可缓存.

我错过了什么?


这与可能的重复问题无关.标记为重复的人不知道什么是关键的CSS,或者甚至没有读过这个问题.

html css css3 pagespeed http2

6
推荐指数
1
解决办法
805
查看次数

在&lt;section&gt;内使用&lt;header&gt;在语义上正确吗?

我在互联网上发现的所有示例都涉及使用<h1>inside <section>,但与<header>元素的使用无关。

它是有效的HTML5,但是语义呢?

也许我在滥用<section>元素,因为完整性是我的用例:

<main role="main">
  <header>page header</header>
  <section id="cookiesPolicy>
    <header>
      <h1>Cookies Policiy</h1>
    </header>
    <div>Bla bla bla bla bla bla bla</div>   
  </section>    
  <footer>page footer</footer>
</main>
Run Code Online (Sandbox Code Playgroud)

html html5 semantics

3
推荐指数
1
解决办法
4783
查看次数