我正在尝试更好地理解 ES6 导入功能,我需要您的帮助。
情景
假设我的应用程序中有一个经常使用的代码子集,并且我将所有这些代码整理到一个文件夹中,以便将它们放在一起。
所以现在,在三个单独的文件中,我有如下内容(注意:我使用的是 TypeScript,因此示例中的文件名以 '.ts' 结尾):
文件0.ts:
import {AbstractCoreCommunicationClass} from '../../../core-packages/communication/abstract-core-communication'
文件1.ts:
import {AbstractCoreCommunicationClass} from '../communication/abstract-core-communication'
文件2.ts:
import {AbstractCoreCommunicationClass} from '../../../../../core-packages/communication/abstract-core-communication'
我的希望
我希望我可以清理这些引用,如下所示:
文件0.ts:
import {AbstractCoreCommunicationClass} from '@my-communication-core/abstract-core-communication'
文件1.ts:
import {AbstractCoreCommunicationClass} from '@my-communication-core/abstract-core-communication'
文件2.ts:
import {AbstractCoreCommunicationClass} from '@my-communication-core/abstract-core-communication'
我尝试过的事情
我知道在 Laravel(一个不同的框架)中,可以通过编辑一个核心加载器定义文件(如 composer.json 或主 config/app.php 文件)来创建和加载模块。
我一直在寻找可以在 package.json 文件中使用的类似协议来引用非 npm 包,但我没有找到任何此类信息。我找到的最接近的信息是一个教程,其中 NPM 解释了如何使用 NPM 私有包,只要我想在我的余生每月支付 7 美元将我的包托管在他们的服务器。
必须有一种方法可以在本地处理这种包管理,但我还没有发现它是什么,这就是为什么我需要你的帮助!
感谢所有帮助。没有错误的答案。即使是一个糟糕的答案有时也可以为我指明正确的方向,所以请给我你的想法,让我们一起解决这个问题,让每个人都能受益!