does somebody know how to do a module.exports?
I tried some different ways ending up with
export class Greeter {}   which will compile to
exports.Greeter = Greeter;   But what I really want is this:
exports = Greeter;   So that I can use it like this:
import { Greeter } from "greeter";  const greeter = new Greeter();   and not
import { Greeter } from "greeter";  const greeter = new Greeter.Greeter();   Is this possible with Typescript?
In TypeScript, a module is a file containing values, functions, or classes. You can make some of them public, i.e. visible from other modules, by exporting them. Non exported objects are private. Let's create a very simple math module with a single exported function!
TypeScript has export = syntax. It specifies a single object that is exported from the module. This can be a function, class, interface, namespace, or enum.
Use named exports to export a function in TypeScript, e.g. export function sum() {} . The exported function can be imported by using a named import as import {sum} from './another-file' . You can use as many named exports as necessary in a single file.
You can export a single class in TypeScript like this:
class Person {    private firstName: string;   private lastName: string;    constructor(firstName: string, lastName: string) {     this.firstName = firstName;     this.lastName = lastName;   }    public getFullName() {     return `${this.firstName} ${this.lastName}`;   } }  export = Person;   And here is how it's going to be used:
var Person = require('./dist/commonjs/Person.js');  var homer = new Person('Homer', 'Simpson'); var name = homer.getFullName();  console.log(name); // Homer Simpson   To be complete, here is my tsconfig.json (I am using TypeScript v2.0.3):
{   "compilerOptions": {     "module": "commonjs",     "moduleResolution": "node",     "outDir": "dist/commonjs",     "rootDir": "src/ts",     "target": "es5"   },   "exclude": [     "dist",     "node_modules"   ] } 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With