小编Mar*_*son的帖子

React Storybook SVG 无法在“文档”上执行“createElement”

我正在尝试将 Storybook 添加到现有的 React 应用程序中,但在导入的 svg 文件中出现错误。svg 被导入并使用如下:

import Border from './images/border.inline.svg'
...
<Border className="card__border" />
Run Code Online (Sandbox Code Playgroud)

这在应用程序运行和构建时有效,但在 Storybook 中出现错误。怎么来的?


Failed to execute 'createElement' on 'Document': The tag name provided ('static/media/border.inline.258eb86a.svg') is not a valid name.
Error: Failed to execute 'createElement' on 'Document': The tag name provided ('static/media/border.inline.258eb86a.svg') is not a valid name.

Run Code Online (Sandbox Code Playgroud)

默认的 webpack.config.js 有:

  ...
  {
    test: /\.inline.svg$/,
    loader: 'svg-react-loader'
  },
  ...
Run Code Online (Sandbox Code Playgroud)

此外,现有代码使用 webpack 3,而我使用的是 Storybook V4。

reactjs webpack storybook

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

Sequelize添加关联

我有一个这样的关联设置:

m.User.hasMany(m.Interests, { joinTableName: 'user_interests', foreignKey: 'user_id' });
m.Interests.hasMany(m.User, { joinTableName: 'user_interests', foreignKey: 'interest_id' });
Run Code Online (Sandbox Code Playgroud)

Sequelize很棒,因为我可以做user.getInterests.但是,我如何添加新关联?

sequelize.js

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

Uber-go/zap 和 kafka-go 竞争条件

我正在创建一个自定义记录器,我们可以在其中登录到 std out 和 std err,但也增加了登录到 kafka 的可能性(代码示例在这里:https : //github.com/roppa/kafka-go)。我们有多个主题,所以我们需要多个记录器,但是当我们使用多个记录器时,我们会发生一些奇怪的事情。当两个 kafka-go 设置都是异步时,我没有收到消费者消息,当一个是异步的,另一个是同步的,我们会得到这样的消息:

//consumer topica
{"level":"\u001b[34mINFO\u001b[0m","timeStamp":"2020-12-09T15:31:04.023Z","msg":"topic-a log 1","UID":"abc123","ns":"test-service"}

{"level":"\u001b[34mINFO\u001b[0m","timeStamp":"2020-12-09T15:31:05.078Z","msg":"topic-a log 2","UID":"abc123","ns":"test-service"}

{"level":"\u001b[34mINFO\u001b[0m","timeStamp":"2020-12-09T15:31:06.085Z","msg":"topic-a log 3","UID":"abc123","ns":"test-service"}

//consumer topicb
2020-12-09T15:31:06.085Z    INFO    topic-a log 3   {"UID": "abc123", "ns": "test-service"}
2","UID":"abc123","ns":"test-service"}
Run Code Online (Sandbox Code Playgroud)

更改同步会产生完全不同的效果。我对 Go 很陌生。

这是 main.go:

//consumer topica
{"level":"\u001b[34mINFO\u001b[0m","timeStamp":"2020-12-09T15:31:04.023Z","msg":"topic-a log 1","UID":"abc123","ns":"test-service"}

{"level":"\u001b[34mINFO\u001b[0m","timeStamp":"2020-12-09T15:31:05.078Z","msg":"topic-a log 2","UID":"abc123","ns":"test-service"}

{"level":"\u001b[34mINFO\u001b[0m","timeStamp":"2020-12-09T15:31:06.085Z","msg":"topic-a log 3","UID":"abc123","ns":"test-service"}

//consumer topicb
2020-12-09T15:31:06.085Z    INFO    topic-a log 3   {"UID": "abc123", "ns": "test-service"}
2","UID":"abc123","ns":"test-service"}
Run Code Online (Sandbox Code Playgroud)

这是记录器/logger.go:

package main

import (
    "context"
    "kafka-log/logger"
)

func main() {
    loggerA := logger.Init("test-service", "localhost:9092", …
Run Code Online (Sandbox Code Playgroud)

go race-condition apache-kafka uber-zap

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

Docker compose api无法连接到主机MongoDB数据库

我把Mongodb从一个容器搬到了一个本地服务(当集装箱化时它真的很脆弱).问题是我无法从Node api连接到本地运行的MongoDB服务.我可以在我的Mac上使用它,但不能在Ubuntu上运行.我试过了:

 - DB_HOST=mongodb://172.17.0.1:27017/proto?authSource=admin

 - DB_HOST=mongodb://localhost:27017/proto?authSource=admin

 // this works locally, but not on my Ubuntu server
 - DB_HOST=mongodb://host.docker.internal:27017/proto?authSource=admin
Run Code Online (Sandbox Code Playgroud)

尝试将此添加到我的docker文件:

  ip -4 route list match 0/0 | awk '{print $3 "host.docker.internal"}' >> /etc/hosts && \
Run Code Online (Sandbox Code Playgroud)

也试过网桥无济于事.示例docker compose

version: '3.3'

services:
  search-api:
    build: ../search-api
    environment:
      - PORT=3333
      - DB_HOST=mongodb://host.docker.internal:27017/search?authSource=admin
      - DB_USER=dbuser
      - DB_PASS=password
    ports:
      - 3333:3333
    restart: always
Run Code Online (Sandbox Code Playgroud)

localhost docker docker-compose

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

Node.js多个Sequelize原始sql查询子查询

标题听起来很复杂.我有一个用户表,每个用户可以有多个兴趣.这些兴趣通过查找表链接到用户.在PHP中,我查询了users表,然后为每个人做了查询以查找兴趣.我如何在Node.js/Sequelize中执行此操作?我怎样才能设定某种承诺呢?例如:

sequelize.query("SELECT * FROM users").success(function(users) {
    for (var u in users) {
       sequelize.query("SELECT interests.id, interests.title FROM interests, user_interests WHERE interests.id = user_interests.interest_id AND user_interests.user_id = " + users[u].id).success(function(interests) {
       if (interests.length > 0) {
         users[u].interests = interests;
       }
    });
 }
return users;
Run Code Online (Sandbox Code Playgroud)

});

javascript node.js sequelize.js

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

css nth儿童选择器为儿童2,3,6,7,10,11,14,15等

结构在这里:http://jsfiddle.net/9ghUA/1/我有3篇文章,每篇文章都有一篇特色文章.每2个,3个,6个,7个,10个,11个,14个,15个等块的特色文章应该位于2个较小的文章之下.

<div class="group">
    <article class="feature">
        <h1>Block 1</h1>
        <div></div>
    </article>
    <article>
        <h1>heading</h1>
        <div></div>
    </article>
    <article>
        <h1>heading</h1>
        <div></div>
    </article>
</div>
<div class="group">
    <article class="feature">
        <h1>Block 2</h1>
        <div></div>
    </article>
    <article>
        <h1>heading</h1>
        <div></div>
    </article>
    <article>
        <h1>heading</h1>
        <div></div>
    </article>
</div>
Run Code Online (Sandbox Code Playgroud)

那个css子选择器会是什么?我无法弄清楚算法是什么?

css css-selectors

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

Node.js,Forever.js,是否可以使用"forever list"查看其他信息

我们永远使用并且运行了许多Node.js应用程序.当我们做"永远列表"时,我们看到:

info:   Forever processes running
data:   uid  command       script        forever pid   logfile        uptime
data:   [0]  /usr/bin/node app.js    27944   5656  /home/....log  1:16:27:52.625
...
Run Code Online (Sandbox Code Playgroud)

我们有许多应用程序都称为"app.js",所以我们真的不清楚哪个应用程序是什么.有没有办法永远配置,所以它可以包括脚本路径或什么?我们是否必须将所有"app.js"文件重命名为其他文件?

node.js forever

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

Javascript中"no-ops"的含义是什么?

我正在看Mozilla范围备忘单,它说:

VAR

  • 函数作用域
  • 提升到其功能的顶部
  • 同一范围内同名的重新声明是无操作

我找不到任何关于"无操作"定义的提法?这是什么意思?这是否意味着"没有操作",这意味着它不会重新声明它,只是改变价值?

javascript

2
推荐指数
1
解决办法
302
查看次数