【问题标题】:Using a Node module in a Django / Python app on Heroku在 Heroku 上的 Django / Python 应用程序中使用 Node 模块
【发布时间】:2019-03-11 19:15:41
【问题描述】:

我有一个相当经典的 Python/Django 应用程序部署到 Heroku。

我想使用一个 pip 包,django-mjml,它本身依赖于一个名为 mjml 的 Node.js 模块。

我的问题是如何将两者结合起来?执行npm initnpm install mjml 在我的根文件夹中创建了一个node_modules 目录,以及文件:package.jsonpackage-lock.json。我想这不是我真正想要的?

不知道如何从这里开始,感谢任何指示!

【问题讨论】:

    标签: python django heroku npm


    【解决方案1】:

    我没用过那个库,但你可能需要use multiple buildpacks

    1. 将您的主构建包设置为 heroku/python:

      heroku buildpacks:set heroku/python
      
    2. 添加heroku/nodejs buildpack:

      heroku buildpacks:add --index 1 heroku/nodejs
      
    3. 确认 Node.js buildpack 将首先运行,Python buildpack 将在第二个运行

      heroku buildpacks
      

    确保你有

    • 一个requirements.txt 文件(如果您使用pip)或PipfilePipfile.lock(如果您使用 Pipenv)为您的Python 依赖项提交,
    • 一个package.json 文件和package-lock.json(如果您使用npm)或yarn.lock(如果您使用Yarn)为mjml 依赖项提交。

    您在问题中提到的 package.jsonpackage-lock.json 应该足以满足 Node.js 依赖项,但必须提交它们,并且您需要在推送之前设置构建包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多