小编ET-*_*-CS的帖子

赫斯基 5 .huskey gitignore

10天前,Husky 5发布 https://dev.to/typicode/what-s-new-in-husky-5-32g5

迁移到它之后(https://typicode.github.io/husky/#/

我注意到.husky项目中有一个新目录。

默认情况下它包含以下内容:

.huskey
   -> .gitignore
   -> /_
Run Code Online (Sandbox Code Playgroud)

.gitignore文件只是忽略了_目录

_
Run Code Online (Sandbox Code Playgroud)

目录里面/_有一个huskey.sh文件显然应该被忽略。

在文档中 - 您可以通过以下方式添加钩子:

npx husky add .husky/pre-commit "npm test"
Run Code Online (Sandbox Code Playgroud)

pre-commit这将在目录中创建一个文件.husky

我应该将该目录与pre-commit文件一起提交吗?不确定这一点,并且在文档中找不到这一点。

javascript git gitignore node.js husky

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

Angular - 在父容器内打开底部工作表 (MatBottomSheet)

我正在尝试打开 div 容器内的材质底部表,默认情况下它作为主体内的最后一个元素打开。

查看文档,我需要使用viewContainerRef,但我无法使其工作。

这与我想做的类似:

应用程序组件.html:

...
<div #container></div>
...
Run Code Online (Sandbox Code Playgroud)

应用程序组件.ts:

export class AppComponent implements AfterViewInit {

    @ViewChild('container', { read: ViewContainerRef }) _container;

    ...

    constructor(
        private bottomSheet: MatBottomSheet,
    ) {}

    ngAfterViewInit() {
        this.bottomSheet.open(MySheetComponent, {
            panelClass: 'my-modal',
            viewContainerRef: this._container,
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

但似乎并没有做出任何改变。

任何帮助,将不胜感激。

提前致谢

angular-material bottom-sheet angular

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

React Router v5.0 嵌套路由

我正在构建一个反应应用程序,但我无法使路由工作。

  1. 我需要一些验证途径一个共同的布局(页眉,页脚)( ,/loginsign-upforgot-password等...)

  2. 我需要需要另一种常见的布局应用程序的保护部分的剩余部分(HomeDashboard,等...)

  3. 我需要另一个没有任何布局的 404 页面。

我从这些链接中尝试了几种技术:

但可以达到工作版本。

这是我目前拥有的:

(注意:现在我忽略了阻止非登录用户进入 AppLayout 的私有路由的需要,我会在之后处理这个问题)

const App: React.FC = () => {
    const history = createBrowserHistory();

    return (
        <div className="App">
            <Router history={history}>
                <Switch>
                    <AppLayout>
                        <Route path="/home" component={HomePage}/>
                        <Route path="/dashboard" component={DashboardPage}/>
                        ...
                    </AppLayout>
                    <AuthLayout>
                        <Route path="/login" component={LoginPage}/>
                        <Route path="/sign-up" component={SignUpPage}/>
                        ...
                    </AuthLayout>
                    <Route path="*" component={NotFoundPage} />
                </Switch>
            </Router>
        </div>
    );
};

export …
Run Code Online (Sandbox Code Playgroud)

reactjs react-router

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

跨域子帧中的窗体控件上的自动对焦被阻止

使用Chrome,当我尝试更改服务器上另一个应用程序的IFrame中的输入值时,Chrome出现错误:

“在跨域子帧中的窗体控件上进行了自动对焦锁定。”

在生产中(当两个应用程序托管在同一域上时)可以正常工作,但是在localhost开发上,我无法使其正常工作。

我已经尝试通过以下方式启动Chrome:

  • -禁用网络安全
  • --ignore-certificate错误
  • -禁用站点隔离试用
  • --allow-external-pages
  • -禁用站点隔离策略

但没有一个成功。

有谁知道如何使它起作用?如果需要在服务器端进行任何更改,这也是一个选择。

security iframe cross-domain

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

Angular `ngserve --prod` 与 `ngserve -c production` 相同吗?

我正在使用 Angular 7,我想知道是否

ng serve --prod
Run Code Online (Sandbox Code Playgroud)

是相同的

ng serve -c production
Run Code Online (Sandbox Code Playgroud)

在文档中找不到,因此我们将不胜感激

production-environment angular-cli

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

react-select 在 MenuList 中添加搜索输入

我正在使用 react-select ( https://react-select.com ) 并且我试图在 MenuList 本身(在顶部)中添加一个搜索输入,而不是从容器搜索的默认行为。

<Select
   ...
   components={{
      ...
      MenuList: (props: any) => {
         return (
            <components.MenuList {...props}>
               <div className="search-wrapper">
                  <input 
                     value={search}
                     onChange={searchChange}
                     placeholder="Search"/>
                </div>
                {props.children}
             </components.MenuList>
          );
       },
   }}
>
</Select>
Run Code Online (Sandbox Code Playgroud)

它正在工作,我在菜单顶部得到了一个很好的输入:

在此处输入图片说明

但输入似乎被禁用。(在输入中添加 disabled=false 不会产生任何影响)

有什么想法吗?为什么会这样?实现此类功能的正确方法是什么?

reactjs react-select

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

解压字典并作为关键字参数传递给函数

我正在尝试在 python 中将一些 dict 解压缩到一些函数中:

我有一个packet作为参数的函数(应该是dict)

def queue(self, packet):
    self.topic.publish(self.message, self.client, **packet)
Run Code Online (Sandbox Code Playgroud)

我这样称呼它:

queue({
        'an_item': 1,
        'a_key': 'value'
    })
Run Code Online (Sandbox Code Playgroud)

发布功能位于第 3 方 api(Google Pub/Sub API)中,并且来自我查看的源代码:

def publish(self, message, client=None, **attrs):
    ...
    message_data = {'data': message, 'attributes': attrs}
    message_ids = api.topic_publish(self.full_name, [message_data])
Run Code Online (Sandbox Code Playgroud)

它接受 **attrs 以便将所有关键字参数传递给另一个函数。

目前..我的 queue() 函数不起作用。

如果可能,我如何修复我的queue()函数以将packetdict 参数解压缩为publish()可接受的内容?

谢谢!


编辑:

我收到了一些错误消息。

为了:

def queue(self, packet):
    self.topic.publish(self.message, self.client, **packet)
Run Code Online (Sandbox Code Playgroud)

我得到: TypeError: 1 has type <class 'int'>, but expected one of: …

python dictionary argument-unpacking python-3.x google-cloud-pubsub

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

nginx - 将位置重写为服务器根目录

我有这个nginx.confnginx 配置:

http {    
    ...

    upstream app_servers {
        server admin;
    }
    upstream status_servers {
        server status:5000;
    }

    # Configuration for the server
    server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        location / {
            proxy_pass         http://app_servers;
            proxy_redirect     off;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Host $server_name;
        }
        location /api {
            proxy_pass         http://api_servers;
            proxy_redirect     off;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Host $server_name;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)
  • /是服务器到一台服务器,并且
  • /api到另一个 api …

nginx

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

Mongoose findOneAndUpdate 未定义设置为 null

我无法理解未定义和 null 的 findOneAndUpdate 。

创建对象时:

const user = new User({
   _id: 1,
   name: "foo",
   address: undefined
});
user.save()
Run Code Online (Sandbox Code Playgroud)

它正在创建一个只有名称而没有地址的新文档:

{
   name: "foo"
}
Run Code Online (Sandbox Code Playgroud)

如果我在 findOneAndUpdate 之后使用相同的逻辑:

findOneAndUpdate({_id: 1}, {
   name: "bar",
   address: undefined
});
Run Code Online (Sandbox Code Playgroud)

数据库中的文档现在将包含一个nullfor 地址:

{
   name: "bar",
   address: null,
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么。

我希望当我为其设置一个值时undefined应该删除当前项目,因此,如果我有一个带有 的文档address: "somewhere",或者甚至根本没有address,我希望该设置undefined应该删除它(或者如果不存在则不设置) ,而不是将其设置为 null。

这是我能以某种方式实现的吗?或者这是 findOneAndUpdate 的行为?蒙戈数据库?(或猫鼬?)

预先感谢,埃泰。

null undefined mongoose node.js findoneandupdate

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

如何在 Google Cloud BigQuery 中小写整个列数据

我正在尝试找到一种“快速”方法来小写 Google Cloud BigQuery 内表列中的所有数据(字符串)。

在构建脚本之前,我正在寻找更短的方法,例如查询。

如何查询 BigQuery 以小写整个列?

google-bigquery

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

Elixir-检查字符串是否为空

按照本教程 .. 我正在玩Elixir并且Phoenix Framework是第一次。

我有一个简单的客户端/服务器应用程序。

chat / lib / chat_web / room_channel.ex:

defmodule ChatWeb.RoomChannel do
  use Phoenix.Channel

  def join("room:lobby", _message, socket) do
    {:ok, socket}
  end
  def join("room:" <> _private_room_id, _params, _socket) do
    {:error, %{reason: "unauthorized"}}
  end

  def handle_in("new_msg", %{"body" => body}, socket) do
    broadcast! socket, "new_msg", %{body: body}
    {:noreply, socket}
  end
end
Run Code Online (Sandbox Code Playgroud)

我想阻止空的传入消息(body为空字符串)

def handle_in("new_msg", %{"body" => body}, socket) do
  # I guess the code should be here..
  broadcast! socket, "new_msg", %{body: body} …
Run Code Online (Sandbox Code Playgroud)

elixir websocket phoenix-framework

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

Python:uMongo 排序

我正在使用uMongo和 Python 3.0 我有这个模型:

class Job(Document):
    priority = IntField()
Run Code Online (Sandbox Code Playgroud)

我在用着:

jobs = Job.find()
Run Code Online (Sandbox Code Playgroud)

为了从 mongo 实例中获取所有作业,我正在尝试按优先级对它们进行排序..但不幸的是,我似乎找不到执行此操作的方法。我搜索了文档并用谷歌搜索了它,尝试了很多类似的事情

jobs = Job.find().sort('priority', 1)
jobs = Job.find().order_by('priority')
Run Code Online (Sandbox Code Playgroud)

以及我发现的许多其他与 pymongo 相关的解决方案,但它不适用于 uMongo。

但仍然卡住了..任何帮助将不胜感激!

谢谢!

python sorting mongodb umongo

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

TypeScript - 导出默认为

在 TypeScript 中处理 React 应用程序。

我试图了解使用导出默认组件的正确语法 as

到目前为止,我已经使用了:

class HomePage extends Component<IProps, IState> {
   ...
}

export default HomePage
Run Code Online (Sandbox Code Playgroud)

或在不久:

export default class HomePage extends Component<IProps, IState> {
   ...
}
Run Code Online (Sandbox Code Playgroud)

现在,在添加了 redux 支持之后。我有类似的东西:

class HomePage extends Component<IProps, IState> {
   ...
}

const mapStateToProps = (state: StoreState) => {
   ...
};

const mapDispatchToProps = {
   ...
};

export default connect(mapStateToProps, mapDispatchToProps)(HomePage);
Run Code Online (Sandbox Code Playgroud)

但我不知道如何添加as到连接默认导出,例如:

// This is NOT working. I get Syntax error.
export default connect(mapStateToProps, mapDispatchToProps)(HomePage) as HomePage;
Run Code Online (Sandbox Code Playgroud)

是否可以?还是我应该这样做?似乎无论如何导出名称是HomePage …

typescript reactjs

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