Angular 未知选项-角度cli中的m

Angular 未知选项-角度cli中的m,angular,Angular,我想创建服务并将其注册到app.module,但当我运行此命令时 ng g s bram -m=app.module 我得到一个错误: 未知选项:“-m” 尝试使用 ng g s services/bram --module=app.module 生成服务不接受模块参数,因为服务实际上并不“属于”模块。要在根目录中提供,只需打开您的服务并将 @Injectable({ providedIn: ‘root’ }) 。 正如您所看到的,服务不接受模块参数。此选项--module=app.m

我想创建服务并将其注册到
app.module
,但当我运行此命令时

ng g s bram -m=app.module
我得到一个错误:

未知选项:“-m”

尝试使用

ng g s services/bram --module=app.module

生成服务不接受模块参数,因为服务实际上并不“属于”模块。要在根目录中提供,只需打开您的服务并将

@Injectable({
  providedIn: ‘root’
})
。 正如您所看到的,服务不接受模块参数。

此选项
--module=app.module
已被删除,现在您可以使用此选项

ng g s services/bram --module app
选项--module不可用于服务:

但它也适用于一种成分:

删除“=”,删除“.module”,但我想创建服务并将其注册到根模块Not working,抛出错误未知选项:'--module'@KumarShubham我尝试了相同的解决方案。它对我来说很好。添加了一个相同@Seba Cherian的屏幕截图:-我在cli版本8.2.1和节点版本10.16.2中工作,直到“ng g s bram It is working fine”,但未注册根模块,手动工作,但要求使用cli命令,这正是一件让我在学习新东西时感到不快的事情——工具更新得如此之快,以至于社区都无法跟上它。但我想这一切都是有原因的。在我刚刚安装的angular的当前版本中,默认情况下插入了上述可注入装饰器,因此与旧的-m app.module语法等效的是根本不使用它。(参见第6部分的答案)他们不赞成它,因为模块级提供的服务令人困惑,含义不清楚。如果服务是单例的,则应该提供根目录,如果不是单例的,则应该提供组件,以便清楚地知道您正在注入哪个服务。在所有角度版本中,除非延迟加载,否则功能模块或根模块中提供的服务在可用性或注入方面没有区别。在延迟加载的模块中复制模块提供的服务通常是一个bug,而不是预期的行为,因此他们试图通过删除cli参数来阻止这种做法。