Abone kuruluşunda LWC özel izin hatası: "customPermission" türü için geçersiz modül kimliği "MY_NAMESPACE__My_Custom_Permission"
Lightning Web Bileşeninde özel bir izne erişmeye çalışıyorum.
Bu, yönetilen paket geliştirme kuruluşumdaki js kodudur:
import { LightningElement } from 'lwc';
import hasCustomPermission from '@salesforce/customPermission/My_Custom_Permission';
export default class MyLwcComponent extends LightningElement {
get isCustomPermissionEnabled() {
return hasCustomPermission;
{
}
Bu kod geliştirme kuruluşunda iyi çalışıyor ve bana My_Custom_Permission'ı doğru bir şekilde veriyor.
Yönetilen paketi yayınladığımda ve abone kuruluşuna yüklediğimde aşağıdaki hatayı alıyorum:
Bu sayfada bir hata var. Sadece yenilemeniz gerekebilir. Derleme Hatası myLwcComponent.js: 0,0: LWC1504: "customPermission" türü için geçersiz modül kimliği "MY_NAMESPACE__My_Custom_Permission". "MyLwcComponent.js" dosyasında "MY_NAMESPACE" ad alanının açık kullanımı yasaktır. Bunun yerine varsayılan ad alanı "c" yi kullanın.
Bunu nasıl çalıştıracağınıza dair bir fikriniz var mı?
Abone kuruluşundaki özel iznimi isimlendirmeye çalışıyor.
Yönetilen paket geliştirme kuruluşunda, özel izni hem varsayılan ad alanı 'c' hem de ad alanım 'MY_NAMESPACE' ile önek olarak almayı denedim, ancak hata alıyorum.
Örneğin
İçin import hasCustomPermission from '@salesforce/customPermission/MY_NAMESPACE__My_Custom_Permission';
Hata: LWC1504: Invalid module id "MY_NAMESPACE__My_Custom_Permission" for type "customPermission". Explicit use of namespace "MY_NAMESPACE" in file "myLwcComponent.js" is prohibited. Use default namespace "c" instead.
Örneğin
İçin import hasCustomPermission from '@salesforce/customPermission/c__My_Custom_Permission';
Hata: Invalid reference c__My_Custom_Permission of type customPermission in file myLwcComponent.js
Yanıtlar
Bu, Scratch Org kullanmanız gereken durumlardan biridir. Ad alanınızı geliştirme merkezinize kaydedin ve bunu Geliştirici Sürümü kuruluşu yerine geliştirme için kullanın. c__permission
Gösterimi kullanın ve her şey yolunda gitmelidir. Salesforce'un tarihi boyunca ad alanlarıyla ilgili çok sayıda sorun olduğu için, kodun ad alanlı ve ad alanlı olmayan kuruluşlar arasında taşınabilir olmamasını sinir bozucu buluyorum, ancak tamamen şaşırmadım. Scratch Orgs kullanmak, her türlü ad alanı geliştirme sorunundan kaçınmanın ana yoludur, çünkü bir daha ad alanlı olmayan bir Geliştirme Sürümü ile asla uğraşmak zorunda kalmazsınız.