当前位置: 首页 > 面试题库 >

如何在TypeScript中导出对象?

程毅
2023-03-14
问题内容

例如,我正在尝试导出TS对象以获取以下JavaScript输出:

const path = require('path'),
      rootPath = path.normalize(__dirname + '/..'),
      env = process.env.NODE_ENV || 'development';

let config = {
  development: {
    amqpUrl: "amqp://localhost:15672",
    root: rootPath

  },
  test: {
    amqpUrl: "amqp://localhost:5672",
    root: rootPath

  },
  production: {
    amqpUrl: "amqp://localhost:5672",
    root: rootPath

  }
};
module.exports = config[env];

这是我的TS,但导出尚不明确,

import path = require("path")

    const rootPath = path.normalize(__dirname + '/..')
    const env = process.env.NODE_ENV || 'development'

    let config = {
      development: {
        amqpUrl: "amqp://localhost:15672",
        root: rootPath

      },
      test: {
        amqpUrl: "amqp://localhost:5672",
        root: rootPath

      },
      production: {
        amqpUrl: "amqp://localhost:5672",
        root: rootPath

      }
    };

   /* this is the line i'm having problem how can i export config object*/
    // export config[env];

我已经尝试过了,export default config[env]但是它的生成的输出是不期望的。我究竟做错了什么?


问题答案:

在ES6中,允许使用导出功能导出名称,或者默认情况下,您可以导出任何内容。该require格式是这样的:

let config = require('config')

并且它将默认导出配置文件。对于您的情况,您应该执行以下操作:

export default config[env]

如果要使用导出,请执行以下操作:

let Environment = config[env];
export {Environment}

区别是:

import EnvirmentNameWhatever from "./config"

import {Environment} from "./config"
  • 注意-默认导出时,可以使用任何喜欢的名称,而仅导出时,则必须使用导出的名称。


 类似资料:
  • 尝试以这种方式导出socket.io时,获取错误。 我的tsconfig.client.json文件具有以下设置:

  • 注意:我知道有很多关于这个主题的帖子,我已经审阅了相当多的没有成功(请看我在这篇文章底部的参考资料)。 我正试图使用Visual Studio代码在TypeScript中运行一个非常简单的测试,其中我在一个文件中声明一个类并将其导入到另一个文件中。但是,我仍然遇到一个问题,我正在导入的文件无法识别我从另一个文件导出的类的方法。 此时我收到的确切错误消息是: [ts]属性“Get FirstName

  • 用例很简单:我只想导出一个名称与导入时相同的对象。 例如: 但这并不起作用。我必须写: 但这很奇怪。正确的方法是什么? 更新: 感谢帮助和参考。我用许多线索解决了我的问题。下面给大家分享一些我常见的案例和解决方法。

  • 问题内容: 我是Nodejs的新手。如何导出多个对象?例如 我想使用类似的模型: 我想使用类似这样的对象: 谢谢你的建议:D 更新 :解决以下方法: 但是我还有另一个问题。如何动态分配模型? 更新通过 以下方式解决了第二个问题: 问题答案: 只需将它们包装在对象文字中即可。在纯JS(没有CoffeeScript)中,将是: 在coffeescript中,您使用缩进,但要创建空对象时除外:

  • 现有一个a对象和b对象,a对象为服务器返回的数据,b对象为对a对象加工后的数据。 类型为: 由于A数据并没有c字段, 我要加c字段,但是加c字段又提示A没有c字段,如: 还是说我直接把类型定义为: