【问题标题】:Pushing custom node_module while deploying on heroku在 heroku 上部署时推送自定义 node_module
【发布时间】:2015-06-24 14:19:23
【问题描述】:

我正在尝试在 heroku 上部署我的 node-express 网站。一切正常,但只有一个问题。

我在我的项目中使用了 express-stormpath 作为依赖项,我已经自定义了它(仅限视图)。

当我使用git push heroku master 将它部署到heroku 时,node_module 在上传时被忽略,所有模块都由heroku 自己使用npm 安装。所以我对节点模块的自定义没有反映在 heroku 上。

我也试过这个:npm install private github repositories by dependency in package.json

关于如何将包括 node_modules 在内的整个项目上传到 heroku 有什么建议吗?

【问题讨论】:

    标签: node.js heroku node-modules


    【解决方案1】:

    如果您使用的是 express-stormpath,您不应该在 node_modules 中自定义视图——这是错误的做法。相反,您应该将自定义视图放在您自己的“视图”文件夹中,并告诉 express-stormpath 该文件在哪里。

    这是一个自定义登录视图的示例,例如:

    app.use(stormpath.init(app, {
      loginView: __dirname + '/views/login.jade',
      // ...
    }));
    

    如果您在此处查看 express-stormpath 文档:https://docs.stormpath.com/nodejs/express/product.html#update-template-paths(它向您展示了如何执行此操作)。

    注意:我是express-stormpath的作者,偶然看到这个问题^^希望对你有帮助!

    【讨论】:

    • 好的..这是真的..但如果使用任何自定义模块仍然可以吗?
    • 只是好奇,因为我还需要自定义一些其他模块。
    • 如果你需要自定义另一个模型,你应该创建一个本地模块(不要放在 node_modules 中),把它放在一个 web 服务器上,然后让 npm 直接通过 tarball 安装它。
    • 这是正确答案。 node_modules 是一个生成的目录(由 npm install 生成)。你不应该手动修改它(你的修改会被破坏)。
    猜你喜欢
    • 2015-01-09
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多