在 HTML 中包含节点模块

Including node modules in HTML

我正在努力了解 npm 是如何管理依赖关系的——就它们在 HTML 中的实际引用方式而言。

假设我安装了一个特定版本的插件,它在其路径或文件名中包含版本号 - 如果 npm 配置为更新到新的次要版本 - 通过脚本标签引用的文件将不再是当前的。

我还读到,公开 node_modules 路径是不正确的,应该避免。

那么应该如何引用这些文件以便加载它们并且版本更新不会破坏站点?

想法是您在代码中使用这些模块。假设您有一个包含您的应用程序的 main.js 文件,然后您使用 import $ from 'jquery'; 导入模块; (这可能取决于您的配置,您也可以使用 'require')。然后使用像 browserify 这样的工具,它会为你解决所有的依赖关系,并将它打包成一个漂亮的文件,然后可以加载到你的浏览器中。

这只是众多设置中的一个,因此可能会有所不同,例如,如果您使用 webpack,这将有所不同,但想法是相同的,您将需要的内容导入 main.js。

npm 使用 package.json 文件作为构建依赖关系图的参考。 并在 node_modules 文件夹中安装所有依赖关系。当您发布对模块的更新时,您还发布了一个新版本的 package.json 文件,其中将包括对依赖项的修改。

简短的回答是 - package.json 文件...我希望你能从中找到答案。