IBM Cloud Foundry上的节点包依赖项 - 未定义require / module(包未加载)

问题描述 投票:0回答:1

我正在通过IBM Cloud上的工具链工具开发应用程序,并通过Eclipse Orion IDE编辑代码。因为我没有通过我的本地cli访问它,我的理解是,为了这样调用npm install {package},我只需要将包包含在依赖项下的package.json文件中,并将require包含在我的应用程序中。但是,当我加载应用程序时,我得到的require未定义,表明该软件包尚未安装。此外,require()正在app.js文件中使用,应用程序正在启动,但不是来自我的public目录中的文件。

在进一步游戏后,似乎可能与目录树的跟踪方式有关,因为错误仅在子目录中引发。例如,require('express')app.js中工作,./位于test.js的主目录中,但在./subdirectory/test.js中的module.exports = 'str'中调用时失败。我觉得我错过了一些非常简单的东西,如端点或其他东西的配置。

我一直在寻找,但我似乎无法找到如何加载包,最好不使用cli。感谢任何指针。谢谢!

更新:进一步游戏后,我还试图从同一目录中的另一个文件要求模块未定义错误。例如,require('./file')返回此错误。在尝试"start": "npm install && node app.js"返回时,需求未定义。它可能与节点如何包装函数有关?

更新2:在package.json尝试npm install但没有运气。添加在部署之前调用npm install的构建阶段也不起作用

更新3:添加cf restage构建阶段后,我能够看到已通过日志成功构建了依赖项。但是,要求未定义错误仍然存​​在。

更新4:即使存在所有包和依赖项,从我的CLI尝试npm安装也不能正常工作

更新5:运行cacheDirectories或通过here配置缓存也不起作用

打开了有关部署require()的相关问题

node.js eclipse ibm-cloud cloudfoundry
1个回答
0
投票

发现我的混乱是由于我没有意识到qazxswpoi不能在客户端使用,除非通过Browserify之类的工具。

© www.soinside.com 2019 - 2024. All rights reserved.