node.js - 类型“typeof object”上不存在 typescript

标签 node.js typescript

我最近刚刚开始使用 typescript ,

我正在将我的 javascript 代码移至 typescript。在我的 JS 代码中,我有这样的内容

export const envVar = {
    SOCIAL_URL: false,
    BASE_CONFIG_URL: '', //we change it based on the request
    BASE_CONFIG_CLIENT_WEB_URL: base_config.client_url || 'http://localhost:3000',
    DB_HOST: db_settings.db_host || 'localhost',
    DB_USER: db_settings.db_user || 'root',
    APP_URL: base_config.app_url || 'blle://',
    DB_PASSWORD: db_settings.db_password || '',
    DB_DATABASE: db_settings.db_database || 'blale',
    DB_CONNECTION_NAME: db_settings.connection_name || '',
    FIREBASE_DATABASE_URL: db_settings.firebase_datbase_url,
    FACEBOOK_APP_ID: facebook.app_id || '',
    FACEBOOK_APP_SECRET: facebook.app_secret || '',
    FACEBOOK_REDIRECT_URL_SOCIAL: facebook.redirect_url_social || '',
    FACEBOOK_REDIRECT_URL_AUTH: facebook.redirect_url_auth || '',
    FACEBOOK_REDIRECT_URL: function() {
        return this.SOCIAL_URL ? this.FACEBOOK_REDIRECT_URL_SOCIAL : this.FACEBOOK_REDIRECT_URL_AUTH
    },
    TWITTER_CONSUMER_KEY: twitter.api_key || '',
    TWITTER_REDIRECT_URL_AUTH: twitter.redirect_url_auth || '',
    TWITTER_REDIRECT_URL_SOCIAL: twitter.redirect_url_social || '',
    TWITTER_APP_SECRET: twitter.app_secret_key || '',
    TWITTER_REDIRECT_URL: function() {
        return this.SOCIAL_URL ? this.TWITTER_REDIRECT_URL_SOCIAL : this.TWITTER_REDIRECT_URL_AUTH
    },
    JWT_SESSION_DURATION: jwt_config.session_duration || '7d',
    JWT_ISSUER: jwt_config.issuer || 'blle',
    JWT_SECRET: jwt_config.secret || '933dnz82'
}

将其从module.exports移至export const。现在,我如何使用另一个 .ts 文件?我最初做了这样的事情

import * as envVar  from "./../config"

const { JWT_SECRET, JWT_ISSUER, JWT_SESSION_DURATION } = envVar

但这给出了以下错误

Property 'JWT_SESSION_DURATION' does not exist on type 'typeof

最佳答案

由于您正在进行命名导出,因此您的导入将收到一个包含 envVar 作为属性之一的对象。

因此您可以执行以下操作。

import { envVar }  from "./../config"

或者

import * as envVar  from "./../config"

const { JWT_SECRET, JWT_ISSUER, JWT_SESSION_DURATION } = envVar.envVar

如果您想使用现有的导入,则必须将命名导出更改为默认导出。

const envVar = {....};
export default envVar;

关于node.js - 类型“typeof object”上不存在 typescript ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58927529/

相关文章:

node.js - Nest.JS 部署到 Heroku

css - 有没有办法在没有 NodeJS 的情况下将 SASS 编译成 CSS?

node.js - 如何访问运行在 Mesos 上的 Web 应用程序?

node.js - 回调函数在 Node 调度程序中不起作用

angular - 如何在 typescript (Angular + echarts)中访问 EChartsOption 类型的对象的属性?

javascript - 使用 if else 更改 Power BI 自定义视觉对象的矩形颜色

javascript - 有没有什么方法可以在 TypeScript 中定位普通的 JavaScript 对象类型?

javascript - Typescript 属性装饰器 - 需要帮助以了解以下情况如何发生?

visual-studio - typescript ES5 配置

typescript - 为什么提供的接口(interface)联合不能按预期工作?