如何获得本地NodeJS模块/包的自动完成? [PhpStorm / VS代码]

时间:2018-03-21 11:42:57

标签: javascript node.js npm phpstorm webstorm

我学习节点及其周围的一切。我想创建一些示例项目来逐步学习它。但要理解它是如何以正确的方式运作有点令人困惑。

问题

我有两个项目(包)。第一个项目只是一个模块,我想在本地安装到第二个主项目,即webapp项目。

两个项目都具有相同的核心依赖关系。

// package.json (snippet)
[...]
"devDependencies": {
  "babel-cli": "^6.26.0",
  "babel-core": "^6.26.0",
  "babel-loader": "^7.1.4",
  "babel-plugin-add-module-exports": "^0.2.1",
  "babel-polyfill": "^6.26.0",
  "babel-preset-env": "^1.6.1",
  "webpack": "^4.1.1",
  "webpack-cli": "^2.0.12"
},
[...]

唯一的区别是Webapp项目需要我的自定义模块。

// Webapp package.json (snippet)
[...]
"devDependencies": {
  [...]
  "components" : ""file:../components"
} 
[...]

我的主模块文件

我想要的是获取导出的'组件的自动完整列表。我在webapp文件中包含的模块。

组件模块:

// --- Components Module - entry.js (will transpile via babel to index.js)

// collect all ES6 Classes
import Component from 'core/Component';   // core: alias for './core
import Textbox from 'extensions/Textbox'; // extensions: alias for './extensions'

// Export all classes to use it in another project / package
module.exports = {
  Component,
  Textbox
};

Webapp模块:

// --- Webapp Module - entry.js (will transpile via babel to index.js)

import Components from 'components';

var welcome_text = new Components.Textbox();
welcome_text.set_text('Hello User!');
welcome_text.render('body');

因此,如果我写Components.,那么我想从我的'组件中获取所有导出类的列表。模块。那可能吗?

Components.Te  // show autocomplete list with all what starts with 'Te'

var tb = new Component.Textbox();
tb.myFuncti // show autocomplete for Textbox-class methods and properties

也许我以错误的方式或语法导出它。我想也许我需要另一个' babel'插件,用于保持从IDE中识别的已转换的类,属性和方法。

例如在React中。在那里,我得到了包含所有内容的完整列表:

import React from 'react';

React.Co // Shows me everything from React

(在短时间内描述这一切并不容易,我希望不要难以理解我的意思:/)

0 个答案:

没有答案