#javascript #typescript
#javascript #typescript
Вопрос:
есть ли простой способ (возможно, правило tslint) запретить нам использовать MyClass.name , или myFunction.name ?
Мы пытаемся убедиться, что ни один разработчик не будет использовать это, поскольку процесс минимизации изменит имена методов.
Спасибо!
Комментарии:
1. Эй, я думаю, вы немного упускаете из виду вопрос. «Мы пытаемся убедиться, что любой разработчик в конечном итоге использует их», к чему это относится?
2. извините, я не проверял, что я написал, я это исправил.
3. Да, пользовательское правило компоновки должно быть в состоянии это сделать
Ответ №1:
Непроверенный, поэтому пробег может варьироваться от 0 до 100, но вы можете попробовать следующее. Внутри глобального / окружающего ts-файла напишите:
declare global {
interface Function {
/** @deprecated Don't use this, think about the children!*/
readonly name: string;
}
}
Затем установите в вашей конфигурации tslint:
"rules": {
"deprecation": true
}
Возможно, это предупредит разработчика об устаревании, но есть также вероятность, что оно игнорируется, поскольку в типах библиотек нет этого комментария
Комментарии:
1. Я вроде как помогаю, но это все равно позволяет создавать javascript … это всего лишь предупреждение… Я думал о чем-то более навязчивом… может быть, мне придется самому создать правило tslint?