gpt4 book ai didi

javascript - jspm 多个应用程序,公共(public)本地模块

转载 作者:行者123 更新时间:2023-11-27 23:49:38 25 4
gpt4 key购买 nike

我是 jspm 的新手,我正在尝试评估 JSPM 作为我当前使用 requirejs 的应用程序的替代品。

jspm 如何处理多个模块/包?例如:

mycustomlib
|
|-src
|-jspm_packages
| |-npm
| |-github
|-config.js

上面的 config.js 文件包含 mycustomlib 所需的所有依赖项。请注意,mycustomlib 不会发布到 npm,也不会存在于 github 上。这将是我的存储库中的私有(private)自定义库。

现在假设我有几个应用程序使用 mycustomlib 但有自己的 config.js,因为它们也有其他依赖项。

mycustomlib
|
myapp1
|
|-src
|-config.js

myapp2
|
|-src
|-config.js

我应该如何确保 myapp1 和 myapp2 也可以使用 mycustomlib 中的 config.js,以便它们可以使用 mycustomlib 及其依赖项?

在 requirejs 方法中,我将 mycustomlib/config.js 包含在 index.html 中,然后 myapp1/myapp2 必须使用自己的 main.js,其中包含 requirejs.config({....}); requirejs 将合并配置。

我想这可以归结为,使用本地包/模块的推荐方法是什么?

最佳答案

据我所知,没有一种机制可以完全按照您现在所希望的方式执行此操作。也许有人最终会实现本地JSPM Custom Registry 。您可以考虑以下两种替代方法:

<强>1。 (ab)使用JSPM链接机制

我用于通过 JSPM 安装本地包的一个工作流程是为包分配一个 github/npm/jspm 别名(否则该别名不存在),并使用 JSPM 链接机制来安装本地包,而不是检索远程副本。根据您的情况,您可以(根据需要替换版本规范):

从 mycustomlib 目录中(此命令可能需要一些时间):

jspm link npm:mycustomlib@0.0.1

myapp1myapp2 中:

jspm install --link npm:mycustomlib@0.0.1

这有点困惑,当 mycustomlib 中的任何内容发生变化时,并且经常在更改 myapp1/的依赖项时,您会发现需要重新链接包。 myapp2jspm-linker软件包可以减轻一些痛苦并自动为您重新链接。

<强>2。配置您自己的注册表

您有几个 options用于设置“您自己的”注册表。如果您还没有访问任何这些类型的服务的权限,那么对于普通人来说,使用第 3 方 git 自定义 JSPM 注册表 jspm-git 可能是最简单的方法。这将允许您直接从托管您的库的普通 git 存储库安装您自己的库。据我所知,你不能将本地路径与 jspm-git 一起使用。

关于共享您的 config.js:

只要你正确地将每个包配置为 JSPM 包,就不需要共享 config.js。

关于javascript - jspm 多个应用程序,公共(public)本地模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32832844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com