Завершение пользовательской директивы отсутствует (PhpStorm 2018.3) - PullRequest
0 голосов
/ 27 ноября 2018

Я снова борюсь с моей IDE, и мои проекты работают под Angular 1.4 , ES 5.1 .До сих пор проекты создавались с некоторыми серьезными задачами и модулями AMD + RequireJS + для поддержки Angular.Все работало правильно (пользовательские директивы выполнялись автоматически).

Я перенес все это в webpack 4, где все управляется некоторыми вещами module.exports и require('lib') (в узле 8).

Теперь мои пользовательские директивы больше не выполняются автоматически.

  • да, плагин AngularJS включен в настройках (в комплекте с IDE)
  • Версия языка JS: 5.1
  • мои включенные библиотеки HTML и ziiip/node_modules
  • Я уже пытался включить файл angular.js в режиме отладки в этих библиотеках, и он ничего не меняет, даже после вещи "Недопустимый кеш / перезапуск".

Я привел небольшой пример моей реализации, не стесняйтесь комментировать, но мои единственные вопросы таковы:

  • , почему мой customDirective не распознается IDE custom directive definition custom directive tag

  • почему мои все мои require всегда помечены предупреждениями и сообщают мне «Элемент не экспортируется» require warning

  • почему тоже помечено document document warning

Весь проект работает при запуске сервера разработки веб-пакетов, и я приложил образец

1 Ответ

0 голосов
/ 27 ноября 2018
  • Чтобы распознать вашу директиву, вы должны явно указать значение restrict ( WEB-36024 ):

module.exports = angular .module('app.ziiip', []) .directive('customDirective', function () { return { restrict: 'E', template: require('./partials/custom-directive.html') }; });

  • включение Помощь в кодировании Node.js в Настройки |Языки и рамки |Node.js и NPM должны исправить предупреждение для require;но я бы предложил отключить JavaScript |Node.js |Отсутствует оператор require () и JavaScript |Генерал |Отсутствует также оператор импорта проверок: поскольку вы работаете в контексте CommonJS, IDE ожидает явного экспорта / импорта модулей

  • в node_modules/angular/angular.js, параметр задокументирован как @param {string|DOMElement} element и document разрешается до var document: Document в lib.dom.d.ts;PhpStorm не может соответствовать типам и, таким образом, показывает предупреждение.Вы можете отключить его, добавив // noinspection JSCheckFunctionSignatures комментарий

...