DefinitelyTyped/requirejs
Andy ae4fe7b6de Use "lib" in tsconfigs instead of "target". (#13968)
* Use "lib" in tsconfigs instead of "target".

Only add "dom" to libraries that need it. This is determined by a script, so many libraries that have "dom" maybe should not.

* Update new-package and readme

* Add back "target" where necessary
2017-01-18 07:51:51 -08:00
..
index.d.ts
README.md
requirejs-tests.ts Rename test files to be consistent (#13882) 2017-01-10 06:33:06 -08:00
tsconfig.json Use "lib" in tsconfigs instead of "target". (#13968) 2017-01-18 07:51:51 -08:00

require.d.ts

This is a typescript definitions file for require.js.

Usage

Compile *.ts files as AMD modules:

tsc --module AMD main.ts

export classes so they can be accessed from an import:

// File main.ts
export class Main  {

	run() {  
		...
	}
}

Reference require.js statically in your html page (normally how you would do this with vanilla javascript)

<script data-main="config.ts" type="text/javascript" src="lib/require.js"></script>

where main.ts is the source file containing imports/configuration/require initialization. where type is javascript since require.js is javascript. where src is the reference to require.js.

Sample contents of config.ts: The sample config will load all required shims and AMD modules and then kick off main.ts once everything is loaded.

//file config.ts
require.config({
	baseUrl: 'lib',

	paths: {
		'jquery': 'lib/jquery-x.x.x',
		'underscore': 'lib/underscore-x.x.x',
		'backbone': 'lib/backbone-x.x.x'
	},

	shim: {
		jquery: {
			exports: '$'
		},

		underscore: {
			exports: '_'
		},

		backbone: {
			deps: ['underscore', 'jquery'],
			exports: 'Backbone'
		}
	}
});

// load AMD module main.ts (compiled to main.js)
// and include shims $, _, Backbone

require(['main'], (main, $, _, Backbone) => {

	var app = main.AppMain();
	app.run();

});