小编Pat*_*rts的帖子

如何在 package.json 文件中指定项目 npm 注册表

我同时处理多个项目,不同项目的节点模块注册表不一样。

例如,项目A 的所有模块均来自http://registroy.foo.com,项目B 的模块均来自http://registroy.bar.com

有没有一种方法可以指定我们要用于项目内部package.json文件的注册表,例如source在 Ruby 中的 Gemfile 中定义的内容。

javascript node.js npm npm-registry

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

在类型中使用元组而不是联合数组

有没有一种方法可以更严格地输入以下两个函数toCsv()toArray()例如typeof csv

[["key", "life", "goodbye"], ...[string, number, boolean][]]
Run Code Online (Sandbox Code Playgroud)

代替

[("key" | "life" | "goodbye")[], ...(string | number | boolean)[][]]
Run Code Online (Sandbox Code Playgroud)

typeof original相同typeof values,即

{ key: string, life: number, goodbye: boolean }[]
Run Code Online (Sandbox Code Playgroud)

代替

{ key: any, life: any, goodbye: any }[]
Run Code Online (Sandbox Code Playgroud)

我意识到不能保证{ key: 'value', life: 42, goodbye: false }使用的迭代顺序for...in,我对此很满意。即使 TypeScript 编译器不会生成与运行时相同的顺序,任何将键与每行的相应值对齐的一致顺序都是可以接受的,因为使用不依赖于任何特定的顺序。

type Key<T> = Extract<keyof T, string>;
type Column<T> = [Key<T>, ...T[Key<T>][]];
type Columns<T> = [Key<T>[], ...T[Key<T>][][]];

function toCsv<T> …
Run Code Online (Sandbox Code Playgroud)

reflection types transpose tuples typescript

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

设置数组等于另一个或使用三个点之间的差异

在 React 中使用钩子并使用数组作为状态时,我发现使用 setter 函数仅更新该状态数组的一个元素并没有重新渲染组件。我是这样做的:

const [listCollapsed, setListCollapse] = useState(Array(props.list.length).fill(false));

const expandCollapse = (ind) => {
    let newListCollapsed = listCollapsed;
    newListCollapsed[ind] = !listCollapsed[ind];
    setListCollapse(newListCollapsed);

}
Run Code Online (Sandbox Code Playgroud)

其中 expandCollapse 是按下列表元素时调用的函数。我发现将函数的第一行更改为:

let newListCollapsed = [...listCollapsed];
Run Code Online (Sandbox Code Playgroud)

使它工作。我想知道对此的解释是什么。

javascript reactjs spread-syntax react-hooks

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

JQuery - 没有创建按钮

在教程之后 - 类js被添加到html中 - 但由于某种原因,没有创建按钮.我做了多次尝试,尝试重写代码一千次,寻找任何小的拼写错误,但没有.它直接取自教程,所以我看不出有什么问题.

<!doctype html>
<html>
<head>
  <meta charset=utf-8>
  <title>fww</title>
  <style>
    body {
      width: 600px;
      margin: auto;
      font-family: sans-serif;
    }
    
    #contact {
      background: #e3e3e3;
      padding: 1em 2em;
      position: relative;
    }
    
    .js #contact {
      position: absolute;
      top: 0;
      width: inherit;
      display: none;
    }
    
    #contact h2 {
      margin-top: 0;
    }
    
    #contact ul {
      padding: 0;
    }
    
    #contact li {
      list-style: none;
      margin-bottom: 1em;
    }
    /* Close button on form */
    
    .close {
      position: absolute;
      right: 10px;
      top: 10px;
      font-weight: bold; …
Run Code Online (Sandbox Code Playgroud)

html css jquery

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

用AWK或SED获取每一行的第一个字?

我有这样的文本文件:

aaaa bbbb cccc
dddd eeee ffff
gggg hhhh iiii
...
..
.
Run Code Online (Sandbox Code Playgroud)

如何创建仅与每行的第一列中的文本文件awksed这样吗?

aaaa
dddd
gggg
...
..
.
Run Code Online (Sandbox Code Playgroud)

我见过类似的话题,但我无法解决我的问题!

awk split sed

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

ES6和CommonJS导出约定的缺点

对于由定义mainnpm模块文件package.json,我正在考虑以下模式:

import Struct from './src/struct'

module.exports = Struct
module.exports.default = Struct
Run Code Online (Sandbox Code Playgroud)

为了支持CommonJS和ES6导入:

const Struct = require('my-module')
// or
import Struct from 'my-module'
Run Code Online (Sandbox Code Playgroud)

该公约是否有任何可能导致意外问题的弊端?

我要解决的问题是必须迫使软件包的使用者坚持使用ES6或CommonJS,因为这两种方法似乎都不太好用:

const Struct = require('my-module').default
// or
import * as Struct from 'my-module'
Run Code Online (Sandbox Code Playgroud)

在进一步考虑这一点之后,这样定义我的课程/src/struct.js会更好吗?

export default class Struct {
  static get default () {
    return Struct
  }
  ...
}
Run Code Online (Sandbox Code Playgroud)

import export commonjs node.js ecmascript-6

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

为什么使用扩展语法的map()无法正常工作?

我真的不知道这出了什么问题。我从Banks&Porcello的O'Reilly的Learning React中看到了这个特定示例的帖子。但是,这些帖子似乎工作正常,但我的示例不起作用。如果我有错字,我看不到。我的缺点在哪里?我不知道为什么我会得到一个空字符串值而不是“ HB Woodlawn”

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title></title>
  <script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
</head>
<body>

  <script type="text/babel">

    // Editing one object in an array of objects

    let schools = [
      {name: 'Yorktown'},
      {name: 'Stratford'},
      {name: 'Washington & Lee'},
      {name: 'Wakefield'}
    ];

    const editName = (oldName, newName, arr) =>
      arr.map(item => {
        if (item.name === oldName) {
          return {
            ...item,
            name
          }
        }
        else {
          return item
        }
      });

    let …
Run Code Online (Sandbox Code Playgroud)

javascript dictionary spread-syntax

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

Vue 上的 JSX 传播属性

我正在尝试在 Vue 组件上使用 JSX 传播属性,如下所示。

<script>

const
Square = p => <button class="square" v-on:click={ () => p.props.click( p.props.index ) }>{ p.props.squares[ p.props.index ] }</button>

const
Board = p => (
    <div>
        <Square squares={ p.props.squares } click={ p.props.click } index='0' />
        <Square { ...p.props } index='1' />
    </div>
)

export default {
    data    : () => ( { squares: [ 0, 1, 2, 3, 4, 5, 6, 7, 8 ] } )
,   render  ( h )   { return <Board squares={ …
Run Code Online (Sandbox Code Playgroud)

javascript attributes jsx vue.js spread-syntax

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

如何在 ES6 中实现命名构造函数

我正在尝试在 ES6 中实现命名构造函数的使用。这样做的原因是我认为避免使用new关键字调用构造函数,而是使用类的简单方法来使用其他方法会更令人愉快。我想为此使用静态函数作为Proxy构造函数。

\n\n

我尝试了以下方法:

\n\n

\r\n
\r\n
class Person {\r\n  constructor(...props) {\r\n    let {name, age} = props;\r\n    this.name = name;\r\n    this.age = age;\r\n  }\r\n  static create(...props) {\r\n    return new Person(props);\r\n  }\r\n  \r\n  display() {\r\n    console.log(this)\r\n  }\r\n}\r\n\r\nPerson.create({name: \'John\', age: 28}).display(); //Simple object input
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n

\n\n

但这不会起作用,因为简单的对象输入给出:

\n\n
Person\xc2\xa0{name: undefined, age: undefined}\n
Run Code Online (Sandbox Code Playgroud)\n\n

任何帮助,将不胜感激。

\n\n

更新:谢谢,@appleapple 的回答很有帮助。我没有注意到我正在传递一个参数。对于那些想知道如何为 n-Ary 构造函数方法完成此操作的人(当然使用对象很简洁,但仍然如此),这里有一个示例:

\n\n

\r\n
\r\n
Person\xc2\xa0{name: undefined, age: undefined}\n
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n

\n

javascript ecmascript-6 es6-class

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

React 不再需要 APP.js 中的 import 语句了吗?

我最近注意到 App.js 中没有用于 react 的 import 语句,例如:

import React from 'react'
Run Code Online (Sandbox Code Playgroud)

在所有教程中,我都看到了这一行。现在是自动的吗?

javascript jsx reactjs

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