没有自定义指令完成(PhpStorm 2018.3)

时间:2018-11-27 10:45:10

标签: angularjs webpack phpstorm webstorm webpack-4

我再次在IDE和在 Angular 1.4 ES 5.1 下运行的项目中挣扎。到目前为止,使用gulp任务构建的项目,以及用于Angular实现的AMD模块+ RequireJS + bower。一切都以正确的方式进行(自定义指令已自动完成)。

我已经将整个内容迁移到了webpack 4下,所有内容都由某些module.exportsrequire('lib')(在节点8下)所控制。

现在,我的自定义指令不再自动完成。

  • 是的,已在设置中启用了AngularJS插件(与IDE捆绑在一起)
  • JS语言版本为5.1
  • 我包含的库是HTMLziiip/node_modules
  • 我已经尝试将angular.js文件以调试模式包含在这些库中,即使在“无效的缓存/重新启动”之后,它也没有任何改变。

我已经附上了一个实施示例,可以随时发表评论,但我唯一的问题是这些问题:

  • 为什么我的customDirective无法被IDE识别 custom directive definition custom directive tag

  • 为什么我所有的require总是被警告标记并告诉我“元素未导出” require warning

  • 为什么也标记了document document warning

运行webpack开发服务器时,整个项目都在工作,我已经附加了sample

1 个答案:

答案 0 :(得分:1)

  • 要使您的指令得到认可,您必须明确指定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评论

  • 来取消显示