gpt4 book ai didi

javascript - Dotenv 没有将值作为字符串获取

转载 作者:行者123 更新时间:2023-12-03 06:44:15 25 4
gpt4 key购买 nike

我已经安装了 dotenv 来设置开发和生产环境变量,其中一个变量是 ROOT_API,我的 env 文件如下所示

NODE_ENV=dev
ROOT_API=http://localhost/project/public/
PORT=8000

我在 axios 中设置了我的 api 请求配置,并像这样按照 dotenv 存储库中的步骤操作

require('dotenv').config({path: `${__dirname}/../.env`})
//I asume this is right as the value get returned
//but there does not say that i have to configure anything else
export const http = axios.create({
baseURL: process.env.ROOT_API + 'api/',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': tokenType + ' ' + token
}
})

我希望 process.env.ROOT_API 将值作为字符串返回,但在控制台中我看到错误 Uncaught SyntaxError: Unexpected token : 当我看到 where is问题的值显示为

var http = __WEBPACK_IMPORTED_MODULE_5_axios___default.a.create({
baseURL: http://localhost/project/public/ + 'api/',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': tokenType + ' ' + token
}
});

我试过了

  • .env 文件中使用不同的引号
  • process.env.ROOT_API 转换为字符串或记录值的类型,但在参数列表之后出现错误 SyntaxError: missing ) 因为值看起来像纯文本在 js 中。
  • 使用像这样的模板文字 ${process.env.ROOT_API};在 console > sources 中显示 '' + http://localhost/project/public/;//我不知道如何显示`引号它像代码一样显示它抱歉。

我做了一个 console.log 来查看 process.env 在控制台中有什么,这就是它显示的内容

   ...
PWD: 'C:/xampp/htdocs/project',
ROOT_API: 'http://localhost/erp-api/public/',
SESSIONNAME: 'Console',
...

我该如何解决这个问题?我不明白为什么它不能以字符串形式获取值?

最佳答案

我遇到了同样的问题,这就是我所做的:

如果您正在使用 webpack.DefinePlugin(),请改用 webpack.EnvironmentPlugin(),并在其中获取 dotenv.parsed 键使用 Object.keys() 像这样:

// webpack.config.js

const webpack = require('webpack')
const dotenv = require('dotenv').config()

module.exports = {

//...other configs

plugins: [
new webpack.EnvironmentPlugin(Object.keys(dotenv.parsed || {})),
]
]

关于javascript - Dotenv 没有将值作为字符串获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54382260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com