小编Jho*_*a Q的帖子

Node.js 调试器一附加就结束

我目前使用 WebStorm 作为 IDE,我的项目使用 pm2 作为流程管理器。我的生态系统的结构如下:

module.exports = {
  name: 'myProject',
  cwd: __dirname,
  script: 'npm',
  args: 'run start:debug',
};
Run Code Online (Sandbox Code Playgroud)

它执行

"start:debug": "nodemon --config nodemon-debug.json"
Run Code Online (Sandbox Code Playgroud)

项目一启动,终端就会抛出:

Debugger listening on ws://127.0.0.1:9229/24bd6549-1601-4b0d-9e36-495765176abc
For help, see: https://nodejs.org/en/docs/inspector
Run Code Online (Sandbox Code Playgroud)

然后,我按 WebStorm 中的“调试”按钮并进行以下配置:

在此输入图像描述

之后,终端显示此内容并且项目在没有调试器的情况下启动:

Debugger listening on ws://127.0.0.1:9229/24bd6549-1601-4b0d-9e36-495765176abc
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.
Debugger ending on ws://127.0.0.1:9229/24bd6549-1601-4b0d-9e36-495765176abc
For help, see: https://nodejs.org/en/docs/inspector
Run Code Online (Sandbox Code Playgroud)

我的节点版本:

nvm current -> v14.20.1
Run Code Online (Sandbox Code Playgroud)

昨天它运行良好,今天我打开我的电脑,它坏了,我的环境没有任何变化,我知道。

debugging node.js webstorm pm2

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

角度反应形式,动态验证器不更新控制有效性

所以我有一个表单,其中仅当另一个控件有值时才需要一个控件,为此我创建了以下结构

 profileGroup = this.fb.group({
username: [''],
address: [
  '',
  [
    (control: AbstractControl) => {
      if (this.profileGroup?.get('username')?.value) {
        return (Validators.required)(control);
      }
      return (Validators.nullValidator)(control);
    },
  ],
],
Run Code Online (Sandbox Code Playgroud)

});

这个函数效果很好,一旦username 控件获得一个值,aValidators.required就会添加到address控件中。但是,尽管添加了验证器,但控件的有效性address并未更新,因此控件仍标记为valid

如果可能的话我想避免使用类似的东西

this.profileGroup.get('username')?.valueChanges.subscribe(val=>{
  this.profileGroup.get('address')?.updateValueAndValidity()
})
Run Code Online (Sandbox Code Playgroud)

因为可能存在我不知道名称的动态控件,并且不想为每个控件设置一个可观察对象。

这是一个工作示例的堆栈闪电战 https://stackblitz.com/edit/angular-10-formbuilder-example-m8qjq8?file=src/app/app.component.ts

formbuilder angular-validation angular angular-reactive-forms angular-validator

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