小编Joh*_*ton的帖子

如何实现构造函数中`this`中保存的值的隐私?

对于需要保存在this构造函数中的值,我有哪些选择可以实现隐私?例如一个简单的Stack实现:

function Stack(){
  this._stack = {}
  this._counter = 0
}

Stack.prototype.push = function (item){
  this._stack[this._counter++] = item
  return this
}

Stack.prototype.pop = function (){
  Reflect.deleteProperty(this._stack, --this._counter);
  return this
}

Stack.prototype.peek = function (){
  return this._stack[this._counter - 1]
}

Stack.prototype.length = function (){
  return Object.values(this._stack).length
}

Run Code Online (Sandbox Code Playgroud)

如果这些方法没有定义为原型方法,我可以像这样轻松地私有它们:

function Stack(){
  let _stack = {}
  let _counter = 0

  this.push = function (item){
    _stack[_counter++] = item
    return this
  }

  this.pop = function (){
    Reflect.deleteProperty(_stack, --_counter);
    return this
  }

  this.peek …
Run Code Online (Sandbox Code Playgroud)

javascript

12
推荐指数
2
解决办法
212
查看次数

是否可以用 tmux 来启动 alacritty?

我同时使用 alacritty 和 tmux。是否可以在每次启动 alacritty 时都运行 tmux?

tmux alacritty

9
推荐指数
2
解决办法
8366
查看次数

如何转发 ref 函数声明而不是箭头函数?

这是 React 网站上的示例:


const FancyButton = React.forwardRef((props, ref) => (
  <button ref={ref} className="FancyButton">
    {props.children}
  </button>
));

Run Code Online (Sandbox Code Playgroud)

我怎样才能做同样的事function(){}?我想这样做是因为我想避免创建匿名函数来帮助调试。

javascript reactjs

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

如何在 SvelteKit 中将数据从端点传递到 getSession()?

我正在尝试将一个对象从端点传递到getSession,我相信它们都在服务器中运行。我可以获取通过 cookie 传递的值,但不能获取通过 cookie 传递的值request.locals.<variable>

src/hooks.ts

import cookie from 'cookie'

export async function handle({request, resolve}) {
  const cookies = cookie.parse(request.headers.cookie || '')

  request.locals.accessToken = cookies.accessToken
  request.locals.refreshToken = cookies.refreshToken

  const response = await resolve(request)

  const accessToken = `accessToken=${request.locals.accessToken || ''}; Path=/; Secure; HttpOnly;`
  const refreshToken = `refreshToken=${request.locals.refreshToken || ''}; Path=/; Secure; HttpOnly;`

  response.headers['set-cookie'] = [accessToken, refreshToken]
  
  return response
}

export async function getSession(request) {
    console.log('check request local', request.locals)
  return {
    accessToken: request.locals.accessToken,
    refreshToken: request.locals.refreshToken,
    user: request.locals.user …
Run Code Online (Sandbox Code Playgroud)

svelte sveltekit

6
推荐指数
2
解决办法
6896
查看次数

EEXIST:Dockerfile 中已存在用于全局安装 npm 包的文件

我正在尝试通过创建一个简单的nodejs图像来学习docker:

# Dockerfile
FROM node:10
RUN npm install -g yarn
EXPOSE 8080
WORKDIR /usr/src/app
Run Code Online (Sandbox Code Playgroud)

当我运行时docker build -t "node10" .,出现以下错误:

 > [2/3] RUN npm install -g yarn:
#5 2.007
#5 2.007 > yarn@1.22.10 preinstall /usr/local/lib/node_modules/yarn
#5 2.007 > :; (node ./preinstall.js > /dev/null 2>&1 || true)
#5 2.007
#5 2.565 npm ERR! code EEXIST
#5 2.573 npm ERR! syscall symlink

#5 2.581 npm ERR! path ../lib/node_modules/yarn/bin/yarn.js
#5 2.581 npm ERR! dest /usr/local/bin/yarn
#5 2.582 npm ERR! errno -17
#5 …
Run Code Online (Sandbox Code Playgroud)

node.js npm docker

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

是否可以用另一个变体引用自身的枚举变体?

是否可以通过 Rust 中同一枚举的另一个变体来引用枚举的变体?

一些想象的代码:

enum Message{
   Text(String),
   Secret(Self::Text)
}
Run Code Online (Sandbox Code Playgroud)

rust

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

如何像React hook一样在Svelte中封装状态函数?

我正在尝试将状态控制函数从组件提取到 Svelte 中的单个组件(或函数)以进行重用和解耦,例如 React hook。

我尝试封装一个计数器增量如下,但它不起作用。反应性丧失并且计数不增加。我应该如何在 Svelte 中正确提取状态控制功能?

useIncrement.svelte

<script context="module">
import {onMount} from 'svelte';
function useIncrement(){
  let count = 0;
  onMount(() => {
    const interval = setInterval(() => count++, 1000);
    return () => {
      clearInterval(interval);
    };
  });
  console.log('toggling')
  return count
}

export {
  useIncrement
}
</script>

Run Code Online (Sandbox Code Playgroud)

应用程序.svelte

<script>
  import { useIncrement } from './useToggle.svelte'
  import {onMount} from 'svelte';
  let count = useIncrement()
</script>

<div class="App">
    <p>Page has been open for <code>{count}</code> seconds.</
</div>

Run Code Online (Sandbox Code Playgroud)

javascript svelte

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

如何只添加当前目录中的所有文件?

我知道git add .会递归地将文件和目录添加到暂存树中,但我只想在当前目录中添加文件,而忽略所有目录。我怎样才能做到这一点?

git

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

如何删除括号内的所有内容而不删除 Vim 中的括号?

假设我有一个这样的代码块:

await store.dispatch(getLicensesThunk('content', submission))
Run Code Online (Sandbox Code Playgroud)

我想删除getLicensesThunk 括号内的所有内容,我应该使用什么命令?

await store.dispatch(getLicensesThunk())
Run Code Online (Sandbox Code Playgroud)

我目前使用d%这个,但它也会删除括号,这不是我想要的。

await store.dispatch(getLicensesThunk)
Run Code Online (Sandbox Code Playgroud)

vim

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

标签 统计

javascript ×3

svelte ×2

alacritty ×1

docker ×1

git ×1

node.js ×1

npm ×1

reactjs ×1

rust ×1

sveltekit ×1

tmux ×1

vim ×1