首页 > 解决方案 > 如何正确使用“外部”JS 模块来完成 PhpStorm?

问题描述

本题涉及:Git子模块、Docker、JavaScript、Nuxt。

情况

有2个项目:

使用的包管理器是yarn.

当前设置

文件夹架构如下

.
+-- back (git submodule)
    +-- js
        +-- file1
        +-- file1
+-- front
    +-- package.json

front有一个链接到 js 文件的声明卷:

front:
  volumes:
    - ../back/js:/usr/src/app/js_back:ro

然后我可以使用以下方法引用这些文件:

import ... from '@/js_back/...'

问题是 PhpStorm 不知道这@/js_back/...是在现实中../back/js

此外,由于这些文件通常是必需的,我希望能够参考那些带有@back/....

备择方案

  1. package.json在该文件的链接中声明一个依赖项。=> 这似乎不起作用
  2. 在自定义包注册表下发布 JS 部分。=> 这些文件与 紧密耦合,back因此更难维护。
  3. 提示 PhpStorm 关于文件位置。=> 我在其他一些问题上看到了“将目录标记为资源根”,但这似乎不起作用。

标签: dockerphpstormpackage.json

解决方案


所以我找到了解决方案。在我的package.json声明中

{
  "dependencies": {
    "@my/back": "file:./js_back"
  }
}

yarn install内容被复制之后node_modules,PHPStorm 可以正确地看到它并相应地提供完成。


推荐阅读