小编Sep*_*eed的帖子

`type Constructor <T> = Function&{prototype:T}`如何应用于TypeScript中的Abstract构造函数类型?

关于TypeScript中的Abstract构造函数类型的问答,这是我想知道的答案:

TypeScript中的抽象构造函数类型

不幸的是,被接受的答案仅是无法解释的一句话: type Constructor<T> = Function & { prototype: T }

看来,这个答案对提问者来说已经足够了,它是公认的答案,但是我无法理解该答案如何应用于问题。

我尝试在评论中提问,并且尝试在聊天中询问某人以解释答案,但无济于事。另外,我认识到这只是与那个问题完全不同的问题,但这仍然是关于代码的独特问题。

如何使用一种类型Function & { prototype: T }来模拟已知构造函数类型的抽象类?

constructor abstract-class typescript

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

ts-node 错误:找不到模块“process”或其相应的类型声明

ts-node 给我这个错误:

找不到模块“process”或其相应的类型声明。

这是我的 tsconfig.json

{
  "compilerOptions": {
    "types": [ "node "],
    "declaration": true,
    "target": "ESNext",
    "module": "CommonJS",
    "outDir": "./dist",
    "rootDir": "./src",
    "moduleResolution": "node"
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我的 package.json

{
  "name": "example",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "author": "Seph Reed",
  "license": "ISC",
  "devDependencies": {
    "@types/node": "^14.14.9",
    "ts-node": "^9.0.0",
    "typescript": "^4.1.2"
  }
}
Run Code Online (Sandbox Code Playgroud)

为什么我会收到此错误?

typescript ts-node

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

文件存在时 Apache RewriteCond %{REQUEST_FILENAME} !-f 失败

我很确定问题是%{REQUEST_FILENAME}没有引用已更改的 URI,而是引用了已请求的 URI。

我有一些这样的代码:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule app/?(.*)$ /some-site/map-app/$1 [NC,QSA]
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule some-site/map-app/?(.*)$ /some-site/map-app/index.html [NC,L,QSA]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

效果应该是这样的

  1. /app/some-site/map-app搜索文件时转到 ->
  2. 如果失败(因为它是 SPA,所以经常会发生),它将转到/some-site/map-app/index.html

由于某种原因,它正在重写每条后备路径index.html。这意味着#1 的发生足以满足RewriteRule条件,但由于某种原因它们RewriteCond不起作用。

如果我删除 #2 的逻辑,文件可以正常解析,因此问题不在于它生成的路径不好。

我已阅读“RewriteCond Specials”上的文档(https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html

为什么这两个逻辑块对于第二个逻辑块内存在的路径(并且由第一个逻辑块生成)没有失败?

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Run Code Online (Sandbox Code Playgroud)

一些示例和期望的结果:

  • /app/->/some-site/map-app/index.html
  • /app/map/id-3->/some-site/map-app/index.html
  • /app/app.js->/some-site/map-app/app.js
  • /app/assets/img/1.png-> /some-site/assets/img/1.png(RewriteEngine …

apache mod-rewrite

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

不带 URIEncoding 的 URLSearchParams.set()

URLSearchParams.set(key, value) URI 对给定的值进行编码,产生丑陋的非指定 URL。

以下测试基于此 url 友好字符列表

const url = new URL("http://www.example.com/path");
const test = "abc123+-_$#%?@,"
url.searchParams.set("foo", test);

console.log(`What foo should be: ${test}`);
console.log(`What foo is: ${url.search}`)
Run Code Online (Sandbox Code Playgroud)

有没有办法使用 URLSearchParams fromURL.searchParams将搜索参数更新为给定的值而不是其编码?

javascript url urlsearchparams

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