重点是:我有一个 256GB 的 SSD 和一个 1TB 的 HDD。安装Ubuntu时,我打算将/
ssd挂载在root上,将hdd挂载在/home
hdd上。嗯,这是符合逻辑的,系统和应用程序将安装在 SSD 上,而让所有垃圾都在 HDD 上。
然后我想,是不是还有/tmp
一些其他文件夹可以分散硬盘空间呢?你会怎么做?
重点是:我有一个 256GB 的 SSD 和一个 1TB 的 HDD。安装Ubuntu时,我打算将/
ssd挂载在root上,将hdd挂载在/home
hdd上。嗯,这是符合逻辑的,系统和应用程序将安装在 SSD 上,而让所有垃圾都在 HDD 上。
然后我想,是不是还有/tmp
一些其他文件夹可以分散硬盘空间呢?你会怎么做?
在nginx docker中访问端口443最简单的方法是什么?nginx:latest
我什至不需要将它们添加到受信任的列表中。这里的想法是这样的:首先,我不关心 TLS。其次,当浏览器显示“连接不安全,接受风险并继续”时,我对这种情况非常满意。也就是说,通过443端口和HTTPS协议访问就够了。
这实际上是在 docker 的 nginx 容器中实现此目的最简单的方法吗?
WordPress 有一个wp_terms
存储术语的表。在表中,wp_term_taxonomy
术语与分类法相关联,还有一个wp_term_relationships
将分类法与特定帖子连接起来的表。
该记录有一个带标签的字段。My_Label
我在这个领域有一个标签。也就是说,我在引用的wp_term_relationships
表中看到,一切都按其应有的顺序进行。但是,当我在编辑帖子时删除此标签并保存后,我继续在 中看到它们之间的这种联系,尽管实际上它已被删除,这已被网站上的逻辑所证实(它不再使用此标签找到此帖子) )。object_id
term_taxonomy_id
wp_term_relationships
所以问题是:它到底存储在哪里,如果不是,wp_term_relationships
添加后它总是存在?感觉就像在某个地方有某种开关on|off
,因为连接继续工作,但从逻辑上讲它应该从 消失wp_term_relationships
,我不明白。
谁能简单解释一下什么样的新领域(我称它们为新领域,因为我一两年前没有看到它们)开始越来越频繁地(到处)出现package.json
:
"engines": {
"node": "18",
"npm": "9"
},
"volta": {
"node": "18.16.0"
}
最好用您自己的语言并且简短。到底是什么鬼,我没有安装它volta
,但它是全球范围内的
在ubuntu上安装了php-fpm8.1,也有nginx。我想代理到 php-fpm8.1 以便 php 文件工作。我配置了端口,在配置中注册了必要的选项,我不会把它们带到这里,问题不在于它们,也不在于它们。
问题是 php-fpm8.1 没有在我给它的端口上监听。也就是说,在我的容器中,只有来自 nginx 的端口 80 是打开的,仅此而已。该命令service php-fpm8.1 start
输出到控制台php-fpm8.1: unrecognized service
,尽管该命令php-fpm8.1 -v
给出了正确的结果。我在这个问题上搜索了很多,但还没有找到任何东西......
关键是 TS 在 querySelectorAll 方法之后返回了一个节点列表。将来,在 forEach 中进行迭代时,您必须将每个元素声明为 HTMLElement,以便访问诸如 classList 之类的方法。它看起来像这样:(element as HTMLElement).previousElementSibling
。以及如何做到这一点element.previousElementSibling
?我不明白。
它是:
const a = doc.querySelectorAll('.some').forEach((el) => (el as HTMLElement).classList.add('classes'));
我希望它变成:
const a = doc.querySelectorAll('.some').forEach((el) => el.classList.add('classes'));
有一个功能
const foo = (...args: number[]) => {
args.reduce((acc, num) => {
// some operation
return acc;
});
};
没有参数的调用foo()
将是正确的。问题出现了,如何让 TS 检查 ...args 的长度是否为 1 或更多?
如果有人知道写。谢谢
有人可以向我解释为什么这样做:
interface M {
(a: number): any;
(a: number[]): any;
}
const foo: M = (a) => {
if (Array.isArray(a)) {
return a.map((num) => num > 0 || num === 0 ? num : num * -1)
} else {
return a > 0 || a === 0 ? a : a * -1;
}
}
如果我将界面更改为
interface M {
(a: number): number;
(a: number[]): number[];
}
这似乎很合乎逻辑,我收到以下错误
Type '(a: number | number[]) => number | number[]' is not assignable to type 'M'.
Type 'number | number[]' is not assignable to type 'number'.
Type 'number[]' is not assignable to type 'number'.
我不明白...
有两个组件,每个组件都有一个 componentWillUnmount 方法:
class Ul extends React.Component {
constructor(props) {
super(props);
this.state = {
listItems: ['first', 'second', 'third'],
input: '',
};
}
componentWillUnmount() {
console.log('LifeCycle[unmounting]: componentWillUnmount UL COMPONENT');
}
delete = () => {
this.setState({
listItems: [],
});
};
render() {
if (!this.state.listItems.length) return null;
return (
<>
<ul>
<Li listItems={this.state.listItems} />
</ul>
<button onClick={this.delete}>Delete</button>
</>
);
}
}
class Li extends React.Component {
componentWillUnmount() {
console.log('LifeCycle[unmounting]: componentWillUnmount LI COMPONENT');
}
items = this.props.listItems.map((item, id) => (
<li key={id}>
{item}
</li>
));
render() {
return <>{this.items}</>;
}
};
如果单击“删除”按钮,则状态将更改(数组将被清除),并且在重新渲染时,代码会遇到以下情况:
if (!this.state.listItems.length) return null;
这将显示在控制台中 - LifeCycle[unmounting]: componentWillUnmount LI COMPONENT 我预计 UL 组件会收到类似的消息,但没有收到。
据我了解,这是因为 UL 组件中的渲染函数仍然执行,这意味着该组件的生命周期方法如下:
更新:getDerivedStateFromProps => shouldComponentUpdate => render => getSnapshotBeforeUpdate => componentDidUpdate
即它是针对处于Update状态而不是Unmounting的 UL 组件,这就是为什么没有理由调用componentWillUnmount方法的原因。虽然控制根本没有到达 LI 组件,但它调用了componentWillUnmount方法。也就是当前组件的componentWillUnmount如果已经到了里面的render函数就不会被调用了?
还有一个问题:如果在返回的UL 组件中第一个条件不为null,那么会调用该组件的componentWillUnmount 方法。看起来,最后,但控制台中只会引起两三个错误。为什么会这样?
问题是这样的。将我的第一个包发布到 NPM。当我从另一个项目安装它并尝试连接它时,由于某种原因,它会自动在 src/scripts 文件夹中查找某个文件,我得到以下信息 -
import МОЙ_ПАКЕТ from "МОЙ_ПАКЕТ/src/scripts/development.js";
src 文件夹下的 development.js 文件有什么关系,我不明白。在主 package.json 字段中,我指出了我需要的路径(到 dist 文件夹)。它有效,但前提是你不使用 ES6 模块
const x = require('МОЙ_ПАКЕТ');
这给出了期望的结果。但是使用 import 时,它指定了 src/development.js 文件的完整路径,并且不选择 dist/production.js。如何指定导入的入口点?
一使用http对象的request方法,马上就看到控制台报错
node:events:304 throw er; // Unhandled 'error' event ^
或者整个事情:
node:events:304
throw er; // Unhandled 'error' event
^
Error: connect ECONNREFUSED 127.0.0.1:8080
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1129:16)
at TCPConnectWrap.callbackTrampoline (node:internal/async_hooks:129:14)
Emitted 'error' event on ClientRequest instance at:
at Socket.socketErrorListener (node:_http_client:478:9)
at Socket.emit (node:events:327:20)
at emitErrorNT (node:internal/streams/destroy:194:8)
at emitErrorCloseNT (node:internal/streams/destroy:159:3)
at processTicksAndRejections (node:internal/process/task_queues:80:21) {
errno: -4078,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 8080
}
Process finished with exit code 1
http.request 只是不适用于不同的示例,它每次都会陷入此错误!这是什么废话?让我们从一本书中举一个例子:
const http = require('http');
const options = {
hostname: 'localhost',
port: '8080',
path: '/hello.html'
};
function getResponse(response) {
let data = '';
response.on('data', chunk => {
data += chunk;
});
response.on('end', () => console.log(data));
}
http.request(options, response => {
getResponse(response);
}).end();
它飞在那里。和其他人一样。其他一切都有效,但 http.request 无效。为什么他总是崩溃?
win 10,noda 最新,尝试更改端口