Это отчасти связано с проблемой, с которой я столкнулся при использовании CF в IBM Cloud здесь. Мой вопрос после игры со структурами папок: как именно CF создает приложение, когда дело доходит до относительных путей?
Например, если у меня есть следующая структура папок

когда я добавляю <script type = 'text/javascript' src = '../index.js'></script> в файл index.html, я получаю GET https://simple-toolchain-20190320022356947.mybluemix.net/index.js net::ERR_ABORTED 404. Эта ошибка не возникает, когда я перемещаю index.js в папку public и меняю <script type = 'text/javascript' src = 'index.js'></script>.
Проблема, с которой я сталкиваюсь, заключается в том, что когда я пытаюсь require() любые модули, когда index.js файл находится в подкаталоге, он возвращает Require is not defined ошибку, указывающую, что он не получает модуль из node_modules кеша, который CF должен построить. Требование любых файлов в одном и том же подкаталоге также вызывает ту же ошибку. Это не кажется проблемой, когда require() используется по умолчанию app.js, поскольку приложение загружается без каких-либо ошибок.
Я относительно новичок в инструменте IBM Cloud Foundry, но я следую той же структуре, что и при отправке приложений через Cloud9 IDE, и у меня не было таких проблем. Я чувствую, что могу упустить что-то до смешного простое, например, настройку конечной точки или package.json. Тем не менее, я искал несколько дней и не могу найти решение.
Цените, если у вас есть какие-либо указатели. Спасибо!
У меня есть базовое понимание Node.js, но недостаточно, чтобы решить эту проблему;). Меня смущает то, что на моем локальном рабочем столе, пока я npm i {package}, я могу require('{package}') в любых подкаталогах. Я получаю ошибки только при попытке перенести его в Cloud Foundry, поэтому я подумал, что это связано с тем, как CF создает приложение.
Я бы порекомендовал начать здесь: docs.cloudfoundry.org/buildpacks/node/index.html Cloud Foundry использует пакеты сборки для поддерживаемых языков, Node.js — один из них. См. информацию о package.json
Спасибо за указатели, особенно поясняющие, что это вопрос об узле. После поиска я обнаружил, что проблема заключалась в том, что я пытался использовать require() на стороне клиента, отсюда и мое замешательство.





Из-за непонимания я пытался использовать require() на стороне клиента, отсюда и ошибки. Собираюсь выяснить, как использовать Browserify сейчас. ;)
Это вопрос не к Cloud Foundry, а к Node.js. Какой у вас опыт работы с Node.js?