Nuxt Heroku 需要填写什么 baseurl 才能运行?

2024-01-24

这是我的nuxt.config.js file

env: {
  baseUrl: process.env.BASE_URL || "http://localhost:3000"
},
  
// Axios module configuration: https://go.nuxtjs.dev/config-axios
axios: {
  baseURL: process.env.baseUrl,
  browserBaseURL: "http://localhost:3000"
},

Heroku 日志

收听:http://localhost:21411/
错误 R10(启动超时)-> Web 进程无法在启动后 60 秒内绑定到 $PORT。

我需要将什么环境变量添加到heroku管理中才能使其工作,每次我尝试运行它时,heroku托管的端口都会不断变化。

编辑这里是我的 Nuxt 配置:

     export default {
  // Global page headers: https://go.nuxtjs.dev/config-head
  head: {
    script: [
      {
        type: "text/javascript",
        charset: "UTF-8",
        src: "https://js.api.here.com/v3/3.1/mapsjs-core.js"
      },
      {
        type: "text/javascript",
        charset: "UTF-8",
        src: "https://js.api.here.com/v3/3.1/mapsjs-service.js"
      },
      {
        type: "text/javascript",
        charset: "UTF-8",
        src: "https://js.api.here.com/v3/3.1/mapsjs-mapevents.js"
      },
      {
        type: "text/javascript",
        charset: "UTF-8",
        src: "https://js.api.here.com/v3/3.1/mapsjs-ui.js"
      },
      {
        type: "text/javascript",
        charset: "UTF-8",
        src: "https://js.api.here.com/v3/3.1/mapsjs-clustering.js"
      },
      {
        type: "text/javascript",
        charset: "UTF-8",
        src: "https://js.api.here.com/v3/3.1/mapsjs-data.js"
      }
    ],
    title: "Restaurants-D-System",
    htmlAttrs: {
      lang: "en"
    },
    meta: [
      { charset: "utf-8" },
      { name: "viewport", content: "width=device-width, initial-scale=1" },
      { hid: "description", name: "description", content: "" }
    ],
    link: [
      {
        rel: "stylesheet",
        type: "text/css",
        href: "https://js.api.here.com/v3/3.1/mapsjs-ui.css"
      },
      { rel: "icon", type: "image/x-icon", href: "/favicon.ico" },
      {
        rel: "preconnect",
        href: "https://fonts.gstatic.com",
        href: "https://fonts.googleapis.com/css2?family=Roboto&display=swap",
        rel: "stylesheet"
      },
      {
        rel: "preconnect",
        href: "https://fonts.gstatic.com",
        href: "https://fonts.googleapis.com/css2?family=Ribeye&display=swap",
        rel: "stylesheet"
      }
    ]
  },

  // Global CSS: https://go.nuxtjs.dev/config-css
  CSS: ["~/assets/normalize.css"],

  // Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
  plugins: [],

  // Auto import components: https://go.nuxtjs.dev/config-components
  components: true,

  // Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
  buildModules: [],

  // Modules: https://go.nuxtjs.dev/config-modules
  modules: [
    "@nuxtjs/style-resources",
    // https://go.nuxtjs.dev/buefy
    "nuxt-buefy",
    // https://go.nuxtjs.dev/axios
    "@nuxtjs/axios"
  ],
  styleResources: {
    scss: ["./assets/main.scss"],
    CSS: ["./assets/normalize.css"]
  },


  axios: {
    baseURL: "http://localhost:4000" // Used as fallback if no runtime config is provided
  },
  publicRuntimeConfig: {
    axios: {
      browserBaseURL: process.env.BROWSER_BASE_URL
    }
  },

  privateRuntimeConfig: {
    axios: {
      baseURL: process.env.BASE_URL
    }
  },
  serverMiddleware: [{ path: "/api", handler: "~/api/index.js" }],

  // Build Configuration: https://go.nuxtjs.dev/config-build
  build: {}
};

这是我的 json:

{
  
  "version": "1.0.0",
  "engines": {
    "node": "14.16.1"
  },
  "private": true,
  "scripts": {
    "dev": "nuxt",
    "build": "nuxt build",
    "start": "nuxt start",
    "generate": "nuxt generate"
  },
  "dependencies": {
    "@nuxtjs/axios": "^5.13.1",
    "@nuxtjs/style-resources": "^1.0.0",
    "@vonage/server-sdk": "^2.10.8",
    "core-js": "^3.9.1",
    "express": "^4.17.1",
    "firebase-admin": "^9.8.0",
    "infobip-nodejs": "^0.1.0-alpha.1",
    "lodash.debounce": "^4.0.8",
    "normalize.css": "^8.0.1",
    "nuxt": "^2.2.0",
    "nuxt-buefy": "^0.4.4"
  },
  "devDependencies": {
    "fibers": "^5.0.0",
    "sass": "^1.34.0",
    "sass-loader": "^10.2.0"
  }
}

这是我的 Express javascript 文件 API:

const express = require("express");
const sms = require("./infoSms/index");
const router = require("../api/routes/routesIndex");
const { db, auth, timestamp } = require("./dataBase/index");

const app = express();
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
port = process.env.PORT || 3000;

app.use(router);

if (require.main === module) {
  app.listen(port, () => {
    console.log(`server is up ` + port);
  });
} else {
  console.log("server is up by Nuxtjs");
}
module.exports = app;

官方的设置已经解释得很清楚了@nuxtjs/axios 文档 https://axios.nuxtjs.org/options#runtime-config

export default {
  modules: [
    '@nuxtjs/axios'
  ],

  axios: {
    baseURL: 'http://localhost:4000', // Used as fallback if no runtime config is provided
  },

  publicRuntimeConfig: {
    axios: {
      browserBaseURL: process.env.BROWSER_BASE_URL
    }
  },

  privateRuntimeConfig: {
    axios: {
      baseURL: process.env.BASE_URL
    }
  },
}

另外,正如那里所解释的

如果在生产中使用环境变量,则必须使用运行时配置,否则,这些值将在构建过程中进行硬编码并且不会更改。


通常,Web 服务在端口 80 (https) 或 443 (https) 上运行,请仔细检查这是否是您仪表板中的内容 (https://dashboard.heroku.com/apps/<your-app>/settings)。即使您可能甚至不需要指定它。

读一读部署页面 https://nuxtjs.org/docs/2.x/deployment/heroku-deployment/查看到目前为止所需的几个步骤

heroku create myapp
heroku buildpacks:set heroku/nodejs
heroku config:set HOST=0.0.0.0
git push heroku master // git push heroku develop:master if working on develop and not master

此外,更喜欢在 Nuxt 中对环境变量使用这种方法:https://stackoverflow.com/a/67705541/8816585 https://stackoverflow.com/a/67705541/8816585

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Nuxt Heroku 需要填写什么 baseurl 才能运行? 的相关文章

随机推荐

  • 如何将核心数据模型项传递到视图中进行编辑

    我有一个最小的示例项目CD传递Q https github com ericg xcode questions CDPassingQ 我的主要 内容视图 https github com ericg xcode questions CDPa
  • JSON 发布,我是否把 JSON 推得太远了?

    我只是想知道我是否把 JSON 推得太远了 如果有人以前打过这个 我有一个 xml 文件
  • 在 Spark Scala 中将时间戳转换为 UTC

    我的环境是Spark 2 1 Scala 这可能很简单 但我很伤脑筋 我的数据框 myDF 如下所示 orign timestamp origin timezone 2018 05 03T14 56 America St Johns 201
  • elasticsearch_dsl:聚合生成多个桶

    我想生成这个 GET packets 2017 09 25 search size 0 query match transport protocol tcp aggs clients terms field layers ip src ke
  • Excel宏来合并数据

    我的一个文件夹中有很多excel文件 我想要一个宏来遍历每个文件并复制名为最终成本并在目标文件中制作一个带有源文件名称的工作表 就像有三个文件 A B C 每个文件都有一个名为 最终成本 新文件将包含三个工作表 名称为 A B C 编辑后的
  • Bloc 7.2 迁移 - 在流内传递参数

    我目前正在将一个项目从 Bloc 7 0 迁移到 bloc 7 2 我曾经有一个流 我会yield 在不同的流中并每次传递不同的值作为参数 Stream
  • 什么是 BEM 方法? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我最近听说了 BEM 方法 BEM 方法到底有什么用途 BEM 在哪些方面让我们的工作变得更轻松 使用 BEM 是一个好的做法吗 BE
  • Rails3 中的 Ajax 回调

    在rails 2中 对于ajax表单 我们可以有ajax回调 例如之前 之后等 如何在rails 3中做到这一点 我也有同样的问题 并且这个帖子 http blancer com tutorials 105318 using unobtru
  • 将 BigQuery 数据导出为 CSV,而不使用 Google Cloud Storage

    我目前正在编写一个软件 用于导出大量 BigQuery 数据并将查询结果存储为本地 CSV 文件 我使用的是Python 3和google提供的客户端 我进行了配置和身份验证 但问题是 我无法在本地存储数据 每次我执行时 我都会跟随错误信息
  • 轮询成功,但出现错误:操作正在进行中 (29)。当 Xdebug 尝试从 docker 容器连接到 PhpStorm 时

    我正在尝试调试 CLI 脚本 但 Xdebug 无法连接到 PhpStorm 我看到错误Operation now in progress 29 在 Xdebug 远程日志中 我确信 Xdebug 配置正确 但我不知道如何调试 PhpSto
  • 如何删除焦点输入的默认值

    我有一个输入框 分配有默认值文本 当用户聚焦于该字段时 如何删除此文本 CoDE
  • 如何在python中随机化图像像素

    我对计算视觉和Python很陌生 我无法真正弄清楚出了什么问题 我尝试随机化 RGB 图像中的所有图像像素 但结果证明我的图像完全错误 如下所示 有人可以解释一下吗 from scipy import misc import numpy a
  • IIS7 部署 - 重复的“system.web.extensions/scripting/scriptResourceHandler”部分

    尝试在 IIS7 中的默认应用程序池 框架部分设置为 4 0 上部署 net 3 5 网站时 出现以下错误 有一个重复的 system web extensions scripting scriptResourceHandler 部分 定义
  • go 1.5 跟踪命令

    Go 1 5 发行说明说 新的 go tool trace 命令可以实现运行时中新跟踪基础设施生成的程序跟踪的可视化 这真的很令人兴奋 我想了解更多 但其官方文件位于https golang org cmd trace https gola
  • QAbstractTableModel 并为单行发出 dataChanged

    我从 QAbstractTableModel 派生了一个模型 现在我想通知 整行的数据已更改 例如 如果索引为 5 的行的数据发生更改 4 列 则使用以下代码可以按预期工作 emit dataChanged index 5 0 index
  • 钥匙串上的分发证书中缺少私钥

    我遇到以下问题 在任何地方都找不到解决方案 基本上 我们有一个公司开发人员帐户 不是企业 因此为了提交我们的应用程序 我要求我们的团队负责人向我发送分发证书 并创建并向我发送分发配置文件 使用开发人员配置文件 一切正常 但是当我安装证书和配
  • newtype 如何帮助隐藏任何东西?

    现实世界哈斯克尔说 我们将使用新类型隐藏解析器类型的详细信息 宣言 我不明白如何使用新类型隐藏任何内容 谁能详细说明一下吗 我们想要隐藏什么以及我们如何做到这一点 data ParseState ParseState string L By
  • 可可 NSNumberFormatterCurrencyStyle 没有“$”返回零

    我设置了一个数字格式化程序来将货币字符串转换为十进制值 问题是 如果文本字符串没有前导美元符号 它会转换为 0 而不是有效的匹配数字 所以 3 50 converts to 3 50 3 50 converts to 0 这是转换器的代码
  • 这台机器上似乎运行了太多模拟器实例。正在中止

    当我从 SDK 管理器运行它时 加载过程可以正常工作 但是一旦完成 模拟器就会出现闪烁 然后很快消失 有时加载后什么也没有发生 最糟糕的是 当它加载时 我会收到 太多模拟器实例正在这台机器上运行 正在中止 消息 我想开始制作应用程序 但这似
  • Nuxt Heroku 需要填写什么 baseurl 才能运行?

    这是我的nuxt config js file env baseUrl process env BASE URL http localhost 3000 Axios module configuration https go nuxtjs