将包管理器与 Domino 和节点模块的位置一起使用

Posted

技术标签:

【中文标题】将包管理器与 Domino 和节点模块的位置一起使用【英文标题】:Use of a package manager with Domino and locations of node modules 【发布时间】:2020-05-04 07:28:42 【问题描述】:

我正在考虑使用包管理器来避免在 GIT 中注册外部资源。但我想知道我应该如何设置我的项目?

现在在 GIT 中,我将我的 NSF 代码注册在 ODP 文件夹中,例如projectx\ODP\ 例如项目x\OODP\WebContent\DataTables

当我运行包管理器时,我注意到资源存储在包含文件夹 node_modules 中的 package.json 文件的文件夹中。

这是否意味着我应该将 package.json 文件存储在 WebContent 文件夹中,或者我可以在包文件中指定应该安装模块的位置?

为了避免在 GIT 中为源代码管理注册文件,我应该在 .gitignore 文件中注册它们并声明 ODP\WebContent* 但这也会使 package.json 文件不受源代码管理的影响,我希望在源代码下拥有控制。

这一切都让我感到困惑。

谁能告诉我您是如何使用包管理器和 GIT 设置工作区以进行 XPages 开发的?

【问题讨论】:

你到底想用 node_modules 实现什么,或者你用它们做什么?无论如何,您可以将 ODP\WebContent\node_modules 添加到您的 .gitignore 文件中。 节点模块是我在项目中使用的插件,例如数据表,字体很棒,但要在 Domino 网络服务器上可用,它们需要驻留在 WebContent 文件夹中 【参考方案1】:

可以在yarnhttps://www.caxy.com/blog/how-set-custom-location-nodemodules-path-yarn中定义安装目录

【讨论】:

【参考方案2】:

您需要退后一步,检查您想要实现的目标:

您的 Domino 项目是 BACKEND 项目 您编写的 javascript 是一个 FRONTEND 项目(如果不是:在您的 WebContent 项目中没有 NodeJS 应用程序的位置) node_modules 前端项目是设计时需要,而不是运行时需要 您想使用Grunt、Gulp、Webpack 或Rollup 之类的东西来捆绑您的前端。大多数 CLI 工具都使用其中一种 这些捆绑程序允许您指定输出目录。为此使用WebContent 将前端项目保存在单独的树中
/projectx/odp/...
/projectx/frontend/...

希望有帮助

【讨论】:

您好 Stephan,那么您的建议是使用您提到的工具之一将下载到 node_modules 目录中的文件移动到 webcontent 目录? 我想说的是:如果你设计一个 FRONTEND 应用程序,任何这些工具的结果都将是一个不依赖任何 node_modules 目录的应用程序。通常,输出目录类似于/dist,您可以将其重新配置为指向网络内容。前端应用在运行时不使用 node_modules 哦,但我正在使用我的 xpages 应用程序中的模块 从前端代码调用?仍然有一个包会有所帮助

以上是关于将包管理器与 Domino 和节点模块的位置一起使用的主要内容,如果未能解决你的问题,请参考以下文章

您将如何将订阅管理器与流星的模板订阅一起使用?

将数据着色器与 PySpark DataFrame 一起使用

如何在 Python 3 中将 CSV 编写器与 GZIP 文件一起使用?

如何将这两个类装饰器与 functools.update_wrapper 一起使用?

conan入门(二十五):imports将包安装到本地项目或其他指定位置

云原生训练营模块七 Kubernetes 控制平面组件:调度器与控制器