node.js - Wrap many internal modules for exporting in typescript -


i looking @ using typescript within node, , used using typescript via ///<reference.../> syntax purely using internal modules. larger projects can unwieldy can have modules referencing other modules have interlinking references.

so node project thinking trying group logical components internal modules/classes before, internally reference each other, expose them via 1 external module expose underlying classes etc.

this way syntax similar of nodes existing requiring mechanisms, like:

import database = require("my-external-db-module.ts"); var connection = new database.connection(someurl); 

rather than

///<reference path="my-internal-db-modules.ts" /> var connection = new database.connection(someurl); 

and imagine syntax like:

///<reference path="all-my-internal-module-files-etc.ts" /> ///<reference path="..." /> export module someexposingmodule {    // not quite sure put in here expose internal modules } 

so there sort of best practices around sort of thing or others have done similar, or stick using internal modules complex stuff?

i not sure if bad practice or not here how solved problem.

first quick summary of problem again:

i have multiple files logically grouped under namespace, example framework files under there framework.*, such framework.database or framework.unitofwork. these compiled via tsc --out framework.js ... of outputted framework.js file.

now above sounds fine, not allow export modules when using --out because spans multiple files, node work need export modules somehow, appended typescript file manually me in compilation:

// exporter.ts module.exports = framework; 

so providing last file added tsc compilation end like:

// framework.js var framework; (function (framework) {     // lots of stuff })(framework || (framework = {})); module.exports = framework; 

so export internal modules fine , export declaration included because of exporter.ts file included.

so not sure if bad practice allows me have best of both worlds, re-usable module laid out namespaces , spread across sensible file structure, , compiled single module can included either references or nodejs require.

so usage like:

var framework = require("./framework"); var database = new framework.database.dbconnection(); 

Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -