我正在通过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()
的相关问题
发现我的混乱是由于我没有意识到qazxswpoi不能在客户端使用,除非通过Browserify之类的工具。