【问题标题】:How to set custom path for dotenv in nuxt如何在 nuxt 中为 dotenv 设置自定义路径
【发布时间】:2021-08-31 05:55:36
【问题描述】:

我有以下nuxt.config.js,其中srcDir 指向“main-app”,我已将.env 放在它之外。那么在nuxt.config.js中,如何在第1行设置自定义路径

require('dotenv').config({ path: '../.env' })

这样我的 process.env 工作

另外nuxt.config.js中的buildModules如下

buildModules: ["@nuxtjs/fontawesome", "@nuxtjs/dotenv"],

【问题讨论】:

  • 您不应将代码发布为图像。而是在此处将其复制为文本。

标签: javascript vue.js environment-variables nuxt.js dotenv


【解决方案1】:

实际上我需要在 buildModules 部分中设置 env 的实时路径,如下所示

 buildModules: ["@nuxtjs/fontawesome", ['@nuxtjs/dotenv', { path: './' }]],

【讨论】:

    【解决方案2】:

    你试过了吗?

    const { resolve } = require('path')
    require('dotenv').config({ path: resolve(__dirname,"../.env") })
    

    取自this answer


    否则,这个问题似乎也有很多解决方案:https://stackoverflow.com/a/42335383/8816585


    编辑: 你可以在nuxt.config.js 文件的顶部写这个,在export default 的范围之外。

    const { resolve } = require('path')
    const current = resolve(__dirname)
    const upper = resolve(__dirname, '..')
    console.log('current', current)
    console.log('upper', upper)
    
    const testFolder = '../'
    
    fs.readdir(testFolder, (_err, files) => {
      files.forEach((file) => {
        console.log(file)
      })
    })
    
    export default {
      publicRuntimeConfig: {
      // rest of the nuxt.config.js file below
    

    在我的 Linux 机器上提供这个。

    【讨论】:

    • 我用过 require('dotenv').config({path: resolve(__dirname,"../.env")})
    • 你应该 console.log 上面的目录,看看你是否在其中找到了 .env,当然,请仔细检查到目前为止是否还好(你不是上一层/更深)。
    • 其实把console.log放到nuxt.config.js里面是没有出现的
    • 还有其他方法可以检查吗?
    • 它应该可以工作。谷歌一种方法来找出如何打印__dirname 目录的内容。也许这只是 Windows 的问题?
    猜你喜欢
    • 2019-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    • 2023-03-31
    相关资源
    最近更新 更多