docker - 如何正确使用“外部”JS 模块来完成 PhpStorm?
问题描述
本题涉及:Git子模块、Docker、JavaScript、Nuxt。
情况
有2个项目:
back
: 包含带有 API 的 docker 容器和为 gRPC 编译的 js 文件,这是一个 git 子模块。front
: 消费那些js文件
使用的包管理器是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/...
.
备择方案
package.json
在该文件的链接中声明一个依赖项。=> 这似乎不起作用- 在自定义包注册表下发布 JS 部分。=> 这些文件与 紧密耦合,
back
因此更难维护。 - 提示 PhpStorm 关于文件位置。=> 我在其他一些问题上看到了“将目录标记为资源根”,但这似乎不起作用。
解决方案
所以我找到了解决方案。在我的package.json声明中
{
"dependencies": {
"@my/back": "file:./js_back"
}
}
在yarn install
内容被复制之后node_modules,PHPStorm 可以正确地看到它并相应地提供完成。
推荐阅读
- virtual - Twain 示例 数据源和虚拟扫描仪
- c++ - 递归快速排序:为什么这个分区是错误的?
- javascript - 如何使用 javascript 和 HTML 在浏览器上打印消息
- javascript - 用户未在组件的地图内定义
- python-3.x - 安装 Python 库的位置
- apache-flink - Flink keyBy:键太多?
- php - 语言环境定义的 Laravel 字体
- nginx - NGinx 发送 307 而不是 401
- perl - 试图从动态 NF 文件中获取最后 4 个不同的值
- ios - iOS / Swift 中的 3D 动画文本,就好像它是写在一个看不见的旋转卫生纸卷上一样