【问题标题】:Using TypeScript and Browserify how do I import and use classes more simply使用 TypeScript 和 Browserify 如何更简单地导入和使用类
【发布时间】:2016-11-01 12:47:27
【问题描述】:

在这个例子中,我有 2 个文件。一个控制器和一个模型类。

我想在我的控制器中导入模型类并使用它。

所以在我的控制器中我希望能够做到:

import carModel = require('../models/CarModel.ts');
var newCar:car = new car(1, "red");

我的模型文件:

export class Car{
    constructor(
        public id: number,
        public color: string
    ){ }
}

我可以通过在我的控制器中执行此操作来使其工作:

import carModel = require('../models/CarModel.ts');
var newCar:carModel.car = new carModel.car(1, "red");

但是,我希望能够在不使用carModel.car 的情况下申报新车,而只需使用car

我在我的 Gulp 版本中使用:browserifywatchifytsifybabel

【问题讨论】:

  • 我觉得应该是carModel.Car

标签: javascript angularjs typescript browserify


【解决方案1】:

我会试试的

class Car{
    constructor(
        public id: number,
        public color: string
    ){ }
}
exports = Car;

看这里:module.exports in typescript

如果你刚刚开始,不妨看看 es2015 import 语法,它与 typescript 配合得很好。 Typescript 1.8 - ES2015 imports in js files

【讨论】:

  • 感谢您的回复。打字稿似乎不喜欢exports。错误是说is not a module.
【解决方案2】:

怎么样

import {Car} from '../models/CarModel.ts'

【讨论】:

    【解决方案3】:

    我最终做的是在我想使用模型的文件中创建一个新类。新类将扩展我导入的模型。

    import carModel = require('../models/CarModel.ts');
    class Car extends carModel.Car{}
    

    现在我可以使用Car 作为类型。

    【讨论】:

      猜你喜欢
      • 2022-07-20
      • 2020-06-13
      • 2016-06-22
      • 2016-02-21
      • 1970-01-01
      • 1970-01-01
      • 2017-08-13
      • 2019-05-20
      • 2019-09-12
      相关资源
      最近更新 更多