关于TypeScript中的Abstract构造函数类型的问答,这是我想知道的答案:
不幸的是,被接受的答案仅是无法解释的一句话: type Constructor<T> = Function & { prototype: T }
看来,这个答案对提问者来说已经足够了,它是公认的答案,但是我无法理解该答案如何应用于问题。
我尝试在评论中提问,并且尝试在聊天中询问某人以解释答案,但无济于事。另外,我认识到这只是与那个问题完全不同的问题,但这仍然是关于代码的独特问题。
如何使用一种类型Function & { prototype: T }来模拟已知构造函数类型的抽象类?
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)
为什么我会收到此错误?
我很确定问题是%{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)
效果应该是这样的
/app/some-site/map-app搜索文件时转到 ->/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 …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将搜索参数更新为给定的值而不是其编码?