将包管理器与 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 一起使用?