【问题标题】:How to set NODE_PATH=. for node.js app hosted in openshift如何设置 NODE_PATH=。对于在 openshift 中托管的 node.js 应用程序
【发布时间】:2016-06-12 15:07:58
【问题描述】:

我在 openshift 上使用自定义 node.js 墨盒 icflorescu/openshift-cartridge-nodejs.

如何设置 NODE_PATH=。在 package.json 中启动应用程序?我应该像这样在 package.json 中提供它吗:"start": "NODE_PATH=. NODE_ENV=production node app.js", 要么我应该在这里使用类似的东西 Dindaleon/hapi-react-starter-kit - 一些 npm 包,例如 cross-env

我在 app.js 主文件中有一行。有一个名为 'config' 的文件夹,与 app.js 在同一目录中,在文件夹 config 中放置文件 index.js,文件 index.js 的代码为 'module.exports = Object.assign({ ...some conifg object. .. });' .当我删除 NODE_PATH=. ,节点抛出“错误:找不到模块'config'”。

var config = require('config');

【问题讨论】:

    标签: node.js environment-variables openshift


    【解决方案1】:

    我是openshift-cartridge-nodejs 的作者:-)

    在您的package.json 中包含"start": "node app.js" 就足够了。

    如果您查看bin/install,您会发现在墨盒设置脚本中NODE_ENV 已默认设置为production

    另外,我不确定您通过将NODE_PATH 设置为. 来达到什么目的。安装了一个 Node.js 版本。

    如果您通常对如何在 OpenShift 部署的应用程序中设置自定义环境变量感兴趣,请查看文档 here。基本上你必须像这样使用rhc 命令行实用程序:

    $ rhc env set <Variable>=<Value> <Variable2>=<Value2> -a App_Name
    

    【讨论】:

    • 我在 app.js 主文件中有一行。有一个名为 'config' 的文件夹,与 app.js 在同一目录中,在文件夹 config 中放置文件 index.js,文件 index.js 的代码为 'module.exports = Object.assign({ ...some conifg object. .. });' .当我删除 NODE_PATH=. ,节点抛出“错误:找不到模块'config'”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    • 2016-10-16
    相关资源
    最近更新 更多