安装NPM模块而不安装其依赖项

时间:2019-11-27 13:06:13

标签: javascript npm yarn package-managers umd

我们有一个使用NPM作为其包管理器的项目。我们使用Webpack构建一个由Rails应用程序使用的Javascript应用程序。该应用程序是完全独立的,并已构建到软件包中包含的/dist目录中。出于超出此问题范围的原因,Rails应用程序将此应用程序作为UMD模块使用,通过脚本标签加载并初始化它:

App({})

问题是该程序包具有大量依赖项。当Rails应用程序安装软件包时,它还会安装软件包的所有依赖项,尽管它不需要或不使用任何依赖项,因为它所需的一切都存在于App捆绑包中。

Rails应用程序可以通过任何方式安装软件包(并在/dist目录中访问该应用程序)而无需安装所有软件包的依赖项吗?

请注意,我们不希望将所有依赖项都移至应用程序的devDependencies,因为这会造成混淆(并且可能最终会以多种方式分发应用程序,包括通过es6 import)。另外请注意,我们使用Yarn作为包管理器。

为了明确起见,我们使用NPM作为与Rails应用程序共享版本发布的一种方式,但是Rails应用程序关心的包中唯一的东西就是UMD模块。 Rails应用程序能够执行yarn add Example@latest并立即拉入我们应用程序的最新版本非常有用,但是它不需要解析软件包或其依赖项,因为它们已经被烘焙到UMD中了模块。

0 个答案:

没有答案