小编Sel*_*sam的帖子

防止 Chrome-Headless 强制执行 ssl

设置

我在 docker-compose 项目中将 chrome-headless 作为容器运行。我的主应用程序(我想测试的应用程序)在撰写文件中命名为“app”。

为了从 chrome-headless 容器连接到我的应用程序,我使用了 dockers 内部容器链接:http://app:3000

docker-compose.yml

version: '3'

services:
  app:
    build:
      context: .
    ports:
      - 3000:3000

  chrome:
    image: alpeware/chrome-headless-trunk
Run Code Online (Sandbox Code Playgroud)

问题

虽然这应该很容易,但有一个细节使事情变得复杂:chrome-headless 在“.app”域上强制执行 ssl。由于我连接到“ http://app:3000 ”,因此此规则适用。

连接时出现此错误:

net::ERR_SSL_PROTOCOL_ERROR at http://app:3000
Run Code Online (Sandbox Code Playgroud)

有没有办法设置 chrome-headless 来停止在某些域上强制执行 ssl? 在 docker-compose.yml 中将名称从 'app' 更改为其他名称实际上有效,但这似乎是一个相当丑陋的解决方法。

谢谢

headless-browser docker google-chrome-headless

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

如何使用美元符号语法访问嵌套存储

我正在尝试为精简的定制商店决定统一的模式/界面。我发现不仅导出商店的基本状态很有用,而且还公开某种吸气剂。我似乎找不到一种方法来使用 sveltes $-syntax 在导入时未解构时访问嵌套存储:

User.store.js(简化)

import { readable, writable } from 'svelte/store';

const store = writable({
    token: null,
});

const loggedIn = readable(false, (set) => store.subscribe(s => set(!!s.token)));

const login = async (token) => store.set({token});
const logout = async () => store.set({token: null};

const state = {subscribe: store.subscribe}

export {state, loggedIn, login, logout}
export default {state, loggedIn, login, logout}

Run Code Online (Sandbox Code Playgroud)

索引.svelte

<script>
import {loggedIn} from './User.store.js'
import NameSpaced from './User.store.js'
import {loggedIn as NameSpacedLoggedIn} from './User.store.js'

</script>

LoggedIn 1: {$loggedIn} …
Run Code Online (Sandbox Code Playgroud)

svelte

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

复制对象的值而不绑定它们

我想将对象(item)的值复制到另一个(editedItem),将其放入表单并修改它,同时原始对象仍然显示不变.

<a (click)="editedItem=item">Edit</a>
Run Code Online (Sandbox Code Playgroud)

使用此方法绑定两个对象,修改editedItem时Item更改.有没有办法只是复制值而不绑定对象?

angular

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

Vue-Component 中的 addEventListener 和 vanilla JS

在 vue-components 中引用 dom-objects 时,vanilla eventListeners 似乎不起作用。

标记

<p id="test1">Hover this (works)</p>
<div id="app">
    <p id="test2">Hover this (not working)</p>
</div>
Run Code Online (Sandbox Code Playgroud)

JS

document.querySelector('#test1').addEventListener('mouseover', function() {
    alert("HOVER1")
})

document.querySelector('#test2').addEventListener('mouseover', function() {
    alert("HOVER2")
})

new Vue({
    el: "#app"
})
Run Code Online (Sandbox Code Playgroud)

实例

https://jsfiddle.net/seltsam23/dq7euos0/

这种行为是有意的吗?将 vanilla-js 与 vue 结合使用时还有其他限制吗?

javascript vue.js

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

在回退路由中将状态代码从 502 更改为 503

我使用 nginx 作为我的项目的代理服务器。如果我的应用离线进行维护,我想显示一个后备页面。到目前为止,这工作正常。唯一的问题是,带有 502 错误代码的服务器响应 - 这是有道理的。但是,如何在回退中将其更改为 503 路由?

server {
    listen 80;
    error_page 500 502 503 504 @fallback;

   location / {
     proxy_pass http://0.0.0.0:3000;
   }

   location @fallback {
       // I need this to answer with a status of 503 instead of a 502
       root /srv/my-project/static;
       try_files /fallback.html;
   }

}
Run Code Online (Sandbox Code Playgroud)

nginx

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