React CASL条件不在生产模式下工作-Reactjs
我有一个can功能与条件。在条件满足时启用撰写消息。这在开发模式下工作得很好,但是当我尝试在生产模式下运行它时,can方法总是给我React CASL条件不在生产模式下工作-Reactjs,reactjs,casl,Reactjs,Casl,我有一个can功能与条件。在条件满足时启用撰写消息。这在开发模式下工作得很好,但是当我尝试在生产模式下运行它时,can方法总是给我false can('compose', 'Ticket', { phase: 'Tier 3', }); 但在生产模式下,canCompose总是返回false。 我是否必须更改配置中的任何内容?是的,在生产模式下,所有类名和函数名都被损坏(即缩小)。这就是CASL无法正确确定主题类型的原因 这是用英文写的 因此,您有两种选择: 定义和检查每种类型的能力时,
false
can('compose', 'Ticket', {
phase: 'Tier 3',
});
但在生产模式下,canCompose总是返回false
。
我是否必须更改配置中的任何内容?是的,在生产模式下,所有类名和函数名都被损坏(即缩小)。这就是CASL无法正确确定主题类型的原因 这是用英文写的 因此,您有两种选择:
class票证{}
can('compose',Ticket,{…});
能力。可以(“撰写”,票证);
能力。可以('compose',新票(…)
modelName
属性:
舱单{
静态模型名='Ticket'
}
can('compose','Ticket',{…});
能力。可以('compose','Ticket');
能力。可以('compose',新票(…)
谢谢@Sergii Stotskyi,这个解决方案对我有效。我选择了第二种选择。多谢了,老兄。第二种方法很有魅力!
const ticket = new Ticket({ phase: 'Tier 3' })
const canCompose = (ability.can('compose', ticket));