小编vas*_*vas的帖子

如何设置具有多个源目录和单独编译目标的 Typescript 项目?

我的包裹是这样的:

? tsconfig.json
? src/
? ? index.ts         (import './dependence.ts')
? ? dependence.ts
? example/
  ? index.html
  ? script.ts        (import '../src/index.ts')
Run Code Online (Sandbox Code Playgroud)

我想

  • ./src/*.ts 编译在 ./dist/*.js
  • ./example/*.ts 编译在 ./example/*.js

运行后tsc,我希望我的包看起来像这样:

? tsconfig.json
? src/
? ? index.ts         (import './dependence.ts')
? ? dependence.ts
?!dist/
? ?!index.js         (import './dependence.js')
? ?!dependence.js
? example/
  ? index.html
  ? script.ts        (import '../src/index.ts')
  ?!script.js        (import '../dist/index.js')
Run Code Online (Sandbox Code Playgroud)

我对所有 tsconfig 选项都有些困惑。
我已经尝试了很多选项,如baseUrl, paths, rootDir, outDir, rootDirs, ... 都没有成功。

typescript tsconfig

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

可以将 git 换行符更改为句点(以获得更好的基于句子的差异)吗?

是否可以将 git 使用的换行符更改为默认值以外的换行符\n(例如句点.或句点加空格)?

我这样问是因为这将使使用 git 管理文本文件(例如文档和 Markdown 文件)变得更容易。我看过一些文章建议人们将每个句子放在自己的行中,以便 git 将其视为一个单元(而不是较长段落的一部分),这很尴尬。因此这里的问题。

我做了一些互联网搜索但无济于事。

git text plaintext

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

为什么使用 awk 时 \d 不匹配数字?

我发现了一种我无法用 awk 真正解释的行为。也许这是一个愚蠢的错误,但我无法弄清楚。

我有一个名为 files 的文件,其中有一些随机文件名。

$ cat -e files
3beds.txt$
file4.txt$
file3.txt$
dedo$
file5.txt$
texto5.txt$
metoo.txt$
34lions$
texto2.txt$
file1.txt$
7hello$
summer$
missing$
hello.mundo$
helloWorld.txt$
texto3$
awkvars$
texto4$
yes$
file2.txt$
Run Code Online (Sandbox Code Playgroud)

我只想打印包含数字的文件名。我使用了命令:

awk '/\d/{print $0}' files
Run Code Online (Sandbox Code Playgroud)

但我的结果是:

$ awk '/\d/{print $0}' files
3beds.txt
dedo
hello.mundo
helloWorld.txt
Run Code Online (Sandbox Code Playgroud)

如果有人能向我解释为什么要打印这些行,我将非常感激。谢谢你!

regex awk

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

对于只读数组 arg,“Parameters”实用程序类型返回“never”

我看到一个奇怪的(可能是\xe2\x80\x8d\xe2\x99\x82\xef\xb8\x8f)行为Parameters。给定代码:

\n
const testFn = (...args: readonly number[]) => args;\ntype l = typeof testFn;\ntype e = Parameters<l>;\n
Run Code Online (Sandbox Code Playgroud)\n

如果我使用它不会改变ReadonlyArray<number>,尽管这是可以预料的,因为它们是同义词。

\n

为什么 TypeScript 说eis的类型never?这是在 TypeScript v4.3.5 上测试的。\n链接到 Playground

\n

typescript

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

如何扩展 keyof 类型以使其包含键的修改版本,例如以“-”为前缀?

例如,我想将 Typescript 类型安全添加到 vanilla Javascript Sort array of objects by string property value解决方案。它接受要排序的对象的 args 键,以确定要排序的键。如果键以 为前缀-,则排序相反。

我将如何输入 arg 以接受,例如,两者"age""-age"

这是我的尝试:

export function dynamicSortMultiple<T extends object, U extends keyof T>(
  props: Array<U>,
) {
  function dynamicSort(key: U) {
    let sortOrder = 1
    if (typeof key === 'string' && key.startsWith('-')) {
      sortOrder = -1
    }
    return function (a: T, b: T) {
      const result = a[key] < b[key] ? -1 : a[key] > b[key] ? …
Run Code Online (Sandbox Code Playgroud)

typescript

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

这个 git log 输出显示两个分支,就好像它们不是分支一样?请解释

feature/XY是功能分支的名称,当前已签出。feature/XY-refactor是另一个分支的名称,它是从 分支出来的feature/XY

当我运行时git log --oneline,我得到下面的输出。这两个在日志输出的最顶部一个接一个是什么意思?我在 Windows 上使用 git bash。

user@host ~/Documents/repo (feature/XY)
$ git log --oneline
9feb11a (HEAD -> feature/XY, origin/feature/XY) Axis labels
d250b90 (feature/XY-refactor) Refactored
87d49c1 Fix typoe
6a8a7c7 Fix print statement
945ffca Fix code layout
3e747c9 Added spaces after comma
b143713 Changed fontsize
a669cd4 Commented out a print statement
// .. more commits
Run Code Online (Sandbox Code Playgroud)

git git-log git-history-graph

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

Git 是否留下任何证据表明 rebase 甚至在事后发生过?

我知道变基会重写历史。但是事后存储库中是否留下任何记录或迹象表明发生了变基?

git rebase git-history git-history-rewrite

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

安排一组比赛,以便每个参与者的比赛不会太接近

主要目标:

创建一个 JavaScript 函数,帮助每个战士有更好的战斗顺序。一些拳手在整个比赛中有七次参赛。在fighter1fighter2列中,在给定的数据中,您可以看到每个战士的战斗编号。每个同名战士的差距太近或太远。我们的目标是:

  1. 每个同名战士的差距应该有10到30个战斗编号差异。10 是最小间隙,30 是最大间隙。
  2. `fightNumber 应该是唯一的,范围仅在 1 到 162 之间。(战斗编号不能重复)

对象数据:

  1. id=战斗id
  2. 战斗机1战斗机2 =这些是将要匹配的战斗机。战斗机 1 与战斗机 2 - 战斗机有不同的名称。每个可能的名称都在战斗机 1 或战斗机 2 中
  3. FightNumber - 这是每场战斗的唯一序列号。一旦产生新的序列就可以更新(范围是从1到条目数据的总长度(本次测试我打了162场))

创建该函数的目的:

这将帮助每个战士不要等待太久或太短,我们需要给予间隙 10 - 30 战斗编号差异。

我的目标例如是:

战斗机 1:“V”是 FightNumber 1。它的下一场战斗应该是10(最小) 或 30(最大)。但在我当前的函数中,它在 FightNumber 6 处再次匹配 (仅等于 5 FightNumber 差异)

这意味着我当前的函数不满足我的条件,即等于(请参阅上述条件)。

我认为我的身体状况有问题。有没有办法可以实现我的目标?

  const data = [
    { id: "1", fighter1: "V", fighter2: "DD", fightNumber: 1 },
    { id: "2", fighter1: "R", …
Run Code Online (Sandbox Code Playgroud)

javascript algorithm combinatorics

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

解析配置时出错 - JSON5:syntaxError 处的 1:1 输入无效结束

我尝试过使用 node_modules/.bin/babel before.js -o after.js命令从es6转换为兼容的js。我还必须set-executionpolicy remotesigned在 Windows powershell 上运行来修复无法加载的错误,因为
在此系统上禁用了运行脚本。就目前情况而言,node_modules/.bin/babel before.js -o after.js命令正在抛出

SyntaxError(文件目录链接)解析配置时出错 - JSON5:1:1 处的输入结尾无效。

javascript webpack babeljs json5

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

如何模拟糟糕的首次输入延迟(Web Core Vitals)分数?

我需要创建一个将生成错误的首次输入延迟 (FID) 值的网页。

如果您不知道,FID 是 Google Web Core Vitals 的一部分。

我想模拟错误的 FID,因为我正在测试一个网站扫描工具,该工具应该标记错误的 FID 值。因此,我想在网页上模拟一个错误值以确保它有效。

需要明确的是 - 我并不是想修复我的第一次输入延迟。我想创建一个故意给出错误的“首次输入延迟”值的网页。

但我不知道该怎么做。

我有一个 HTML 页面,带有<button id="button">Click Me</button>. 在<head>我添加了这个脚本:

<script type="module">
// Get the First Input Delay (FID) Score 
import {onFID} from 'https://unpkg.com/web-vitals@3/dist/web-vitals.attribution.js?module';

// Get the button element
const button = document.getElementById('button');

// Add a click event listener to the button
button.addEventListener('click', async () => {
  // Make a delay
  await new Promise((resolve) => setTimeout(resolve, 5000));
  // Print the FID score …
Run Code Online (Sandbox Code Playgroud)

javascript seo page-load-time web-vitals core-web-vitals

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