IntelliJ:无法具有多个库根

时间:2019-12-18 18:34:40

标签: javascript python intellij-idea

我觉得自己处在一种特殊的情况下,因为我找不到任何有关如何进行这种交互的文档。我有一个包含Flask应用程序的存储库,该应用程序将包含通过webpack从其他根目录编译的代码,例如:

REPO_ROOT/
|-- src/
    |-- client/
        |-- app/
            |-- css/
                |-- styles.css
            |-- js/
                |-- index.js
            |-- index.html
        |-- node_modules/
        |-- package.json
        |-- webpack.config.js
    |-- server/
        |-- .venv/
        |-- app/
            |-- static/
            |-- templates/
            |-- __init__.py
        |-- MANIFEST.in
        |-- setup.py
|-- tests/
|-- requirements.txt
|-- setup.cfg

... other meta files ...

我遇到的问题:当我打开该项目时,node_modules/被正确识别,并且在client/文件中得到正确的完成,但是server/却没有。将Python SDK设置为指向我的虚拟环境后,我在server/文件中获得了完成,但是client/停止了工作!然后,它错误地将src/标记为“项目”视图中的 库根

问题:如何设置IntelliJ来识别.venv node_modules以便自动完成?当我在package.json上运行install时,它可以正确识别其所在的路径,但仍然无法使用。

IntelliJ Ultimate 2019.2.1
NodeJS和Python插件

我尝试过的一些其他操作-删除插件中的SDK,删除node_modules/.venv/,清除IntelliJ缓存,重新启动,通过UI重新创建库,并且仍然得到相同的结果结果。设置Python SDK后,它立即中断了node_modules/被标识为 库根

1 个答案:

答案 0 :(得分:0)

我已经对此进行了试验,并得出结论:将flask应用程序安装到由IntelliJ加载的虚拟环境SDK中时,它无法将另一个库的根目录嵌套在另一个库中。

我通过将js特定的元文件与py特定的元文件一起移到根目录来解决此问题,最终看起来像这样:

REPO_ROOT/
|-- .venv/
|-- node_modules/
|-- src/
    |-- app/
        |-- static/
            |-- css/
                |-- style.css
            |-- js/
                |-- index.js
        |-- templates/
            |-- index.html
        |-- __init__.py
|-- tests/
|-- MANIFEST.in
|-- package.json
|-- requirements.txt
|-- setup.cfg
|-- setup.py
|-- webpack.config.js

这需要在webpack中进行额外的配置,以将static/指定为我的上下文,并添加一个dist/作为输出,但是在现阶段,它可以正常工作。