我是jspm的新手,我正在尝试评估JSPM作为我当前使用requirejs的应用程序的替代品。
jspm如何处理多个模块/包?例如:
mycustomlib
|
|-src
|-jspm_packages
| |-npm
| |-github
|-config.js
上面的config.js文件包含mycustomlib所需的所有依赖项。请注意,mycustomlib不会发布到npm,也不会发布在github上。它将是我的回购中的私人自定义库。
现在说我有几个使用mycustomlib但有自己的config.js的应用程序,因为它们也有其他依赖项。
mycustomlib
|
myapp1
|
|-src
|-config.js
myapp2
|
|-src
|-config.js
我应该如何确保myapp1和myapp2也可以使用mycustomlib中的config.js,以便他们可以使用mycustomlib及其依赖项?
在requirejs方法中,我在index.html中包含了mycustomlib / config.js,然后myapp1 / myapp2必须拥有自己的main.js,其中包括requirejs.config({....}); requirejs将合并配置。
我想这可以归结为,使用本地软件包/模块的推荐方法是什么?
答案 0 :(得分:1)
据我所知,没有一种机制可以完全按照你现在所希望的那样做。也许某人最终会实施本地JSPM Custom Registry。您可以考虑以下两种替代方法:
<强> 1。 (ab)使用JSPM链接机制
我用来通过JSPM安装本地软件包的一个工作流是为软件包分配一个github / npm / jspm别名,否则它不存在并使用JSPM链接机制来安装本地软件包而不是检索一个远程复制。在您的情况下,您可以(根据需要替换版本规范):
在mycustomlib目录中(此命令可能需要一些时间):
jspm link npm:mycustomlib@0.0.1
myapp1
和myapp2
中的每一个:
jspm install --link npm:mycustomlib@0.0.1
这有点像kludge,你会发现当mycustomlib
中的任何内容发生变化时,以及更改myapp1
/ myapp2
的依赖项时,您需要重新链接该程序包。 jspm-linker包可以缓解一些痛苦并自动为您重新链接。
<强> 2。配置您自己的注册表
您有几个options用于设置&#34;您自己的&#34;注册表中。如果您还没有访问任何此类服务,那么对于普通人来说,使用第三方git
自定义JSPM注册表jspm-git可能最容易允许您直接从托管库的普通git存储库安装自己的库。据我所知,你不能使用jspm-git的本地路径。
关于分享您的config.js:
只要您已将每个包正确配置为共享config.js的JSPM包,就不需要。