typescript - 如何在打字稿中扩展 NuxtRuntimeConfig 接口
问题描述
我在 nuxt$config
变量中添加一个变量,就像在文档中一样。这行得通。
我试图让打字稿知道这个变化。
在我的nuxt.config.js
我有:
// nuxt.config.js. This is to add the variable
publicRuntimeConfig: {
baseUrl: process.env.URL || 'http://localhost:3000',
}
我试图像这样扩展接口
// vue.shim.ts
declare module '@nuxt/types' {
interface NuxtRuntimeConfig {
baseUrl: string
}
}
但是 vscode 仍然没有改变
const { $content, route, $config } = useContext()
console.log($config.baseUrl) // typescript does not no about baseUrl, but it exists
解决方案
您快到了!
您必须用来触发接口合并的模块实际上是类型文件的路径。所以在这里,它是@nuxt > types > config > runtime.d.ts
declare module '@nuxt/types/config/runtime' {
interface NuxtRuntimeConfig {
baseUrl: string
}
}
推荐阅读
- html - Gsap 滚动触发器混淆
- ios - Swift - 通过 UIRotationGestureRecognizer 旋转多个视图
- nextflow - Nextflow:使用 Google Life Sciences API 时指定启动映像
- linux - 如何使用 GNUplot 编辑 .plt 文件
- android - 我保存在服务器上的图像已损坏 Rails
- javascript - 422 Unprocessable Entity (Laravel/React)
- bash - How to get shell command completion (autocomplete) for gcloud?
- reactjs - Serving Django + React on same nginx server
- r - 如何递归地加入在 R 中共享一个列名的嵌套列表?
- wordpress - 产品摘要之后的 html 的 Woocommerce 钩子?