.env Nuxt JS无法正确解析generate选项中的路由

时间:2019-09-16 10:48:35

标签: javascript vue.js vuejs2 nuxt.js nuxt

我正在尝试使用Nuxt JS的2.9.2生成对象使用我的.env文件提取URL来将动态页面生成为静态文件,我很难将其正确链接:< / p>

nuxt.config.js

require('dotenv').config();
import pkg from './package'
import axios from 'axios'

export default {
  mode: 'universal',

  env: {
    blog_api: process.env.BLOG_API || "http://localhost:3000/articles/blogs.json"
  },

  /*
  ** Build directory
  */
  generate: {
    dir: 'dist-next',
    routes: function () {
      return axios.get(`${process.env.blog_api}`)
      .then((res) => {
        return res.data.blogs.map((blog) => {
          return '/posts/view/' + blog.title
        })
      })
    }
  }
}

上面的代码,更具体地说是${process.env.blog_api},似乎无法解析路由,尽管如果我将其替换为自己的本地域也可以正常工作。

.env

BLOG_API="http://my-local-domain.clone/articles/blogs.json"

编辑:

使用我的配置更新的代码http://my-local-domain.clone/articles/blogs.json位于static/articles

1 个答案:

答案 0 :(得分:0)

您应该使用dotenv模块:

https://www.npmjs.com/package/dotenv

有关使用NUXT进行配置的更多信息,请点击此处:

https://samuelcoe.com/blog/nuxt-dotenv/

您可能想在nuxt.config.js中设置env属性,例如:

module.exports = {
  env: {
    BLOG_API: process.env.BLOG_API_URL,
  },

您现在可以在组件中使用它们:

      makeAsyncCall({
        to: process.env.BLOG_API,
      })