我设置了我的 powershell 配置文件来创建常用命令的别名。在 Microsoft 的文档中,它说,如果我想为带有参数的命令创建别名,我应该将别名的值设为执行此操作的函数。
. 但是,当我在命令行中键入函数的名称时,它与别名一样有效。
换句话说,在上图中,如果我输入,CD32它的行为与我Go在命令行中输入的行为相同
所以我的问题是:当我可以拥有一个函数时,为什么要使用指向函数的别名?两者之间有功能差异吗?
我以前从未收到过这样的错误
我有一个定义用于进行 API 调用的函数的文件,目前我正在从环境变量中读取端点基本 URL:
/**
* Prepended to request URL indicating base URL for API and the API version
*/
const VERSION_URL = `${process.env.NEXT_PUBLIC_API_BASE_URL}/${process.env.NEXT_PUBLIC_API_VERSION}`
Run Code Online (Sandbox Code Playgroud)
我尝试快速解决问题,因为环境变量未正确加载,方法是对 URL 进行硬编码,以防变量未定义。
/**
* Prepended to request URL indicating base URL for API and the API version
*/
const VERSION_URL = `${process.env.NEXT_PUBLIC_API_BASE_URL || 'https://hardcodedURL.com'}/${process.env.NEXT_PUBLIC_API_VERSION || 'v1'}`
Run Code Online (Sandbox Code Playgroud)
在开发和生产模式下,当在我的本地计算机上运行时,它工作正常(docker 容器)。但是,一旦将其投入生产,我就会看到以下屏幕:
这是控制台输出:
framework-bb5c596eafb42b22.js:1 TypeError: Path must be a string. Received undefined
at t (137-10e3db828dbede8a.js:46:750)
at join (137-10e3db828dbede8a.js:46:2042)
at J (898-576b101442c0ef86.js:1:8158)
at G (898-576b101442c0ef86.js:1:10741)
at oo (framework-bb5c596eafb42b22.js:1:59416)
at …Run Code Online (Sandbox Code Playgroud) alias ×1
function ×1
javascript ×1
next.js ×1
powershell ×1
reactjs ×1
scripting ×1
windows ×1