$ is undefined
.window
object. And referring each time to a global variable, the JS interpreter has to look for it in a bloated window
object, which affects the performance of the code. var SomeModule = (function() { var count = 0; function notNegative(num) { return num < 0 ? 0 : num; } return { getCount: function() { return count; }, setCount: function(newCount) { count = notNegative(newCount); } }; })();
var logger = require('../utils/logger'); var MyDependency = require('MyDependency'); var count = 0; function notNegative(num) { return num < 0 ? 0 : num; } module.exports = { getCount: function() { return count; }, setCount: function(newCount) { count = notNegative(newCount); logger.log('Count changed to {0}', count); } };
require()
function is used, which takes the first parameter as a string with the path to the module. To export the module interface, we use the exports
property of the module
object. And when this module is connected as a dependency using the require
function, somewhere in the code of another module, the same function will return the exported object. // lib/math.js let notExported = 'abc'; export function sum(x, y) { return x + y; } export const PI = 3.14;
export
keyword exports the desired values ββto the rest of the program. It can be used anywhere: in the middle of the module code or at the end, exporting everything in bulk. // lib/calc.js let notExported = 'abc'; function square(x) { return x * x; } const PI = 3.14; export {square, PI};
import
, from
and as
. You can import only one value you need ... //app.js import {sum} from 'lib/math'; console.log(sum(3, 5));
//app.js import {sum, PI} from 'lib/math'; console.log('2Ο =' + sum(PI, PI));
//app.js import 'lib/calc' as calc; console.log(calc.square(calc.PI));
//app.js import {square} from '../shapes'; import {square as sq} from 'lib/calc'; console.log(sq(3));
// models/User.js export default class { constructor(id, name) { this.id = id; this.name = name; } }
//app.js import User from 'models/User'; var user = new User(12, 'John');
System.import()
. import $ from 'lib/jquery'; if($('html').hasClass('ie')) { System.import('lib/placeholder').then(function(placeholder){ placeholder($('input')); }); } $('.logo').show(600);
System.import()
, a Promise object is returned. Thus, the thread of execution is not blocked and the code that is not related to the import of the module will be executed further.define
function and connecting them with require
. define([id], [dependencies], callback); require(modules, [callback]);
require
and define
methods have several variations.define
method can take three parameters: // app/index.js define('app', ['jquery', 'utils/print'], function($, print) { var $body = $('body'); var App = function(name) { this.name = name; this.content = $body; }; App.prototype.init = function() { print(this.name + 'body', this.content); } return new App('MyApp'); });
define
can only accept the other two parameters: // app/index.js define(['jquery', 'utils/print'], function($, print) { var $body = $('body'); var App = function(name) { this.name = name; this.content = $body; }; App.prototype.init = function() { print(this.name + 'body', this.content); }; return new App('MyApp'); });
return
. You can export anything you want: a normal function, a constructor, an object, a string; in general, any type of data. It is important to understand that the factory function is executed only once, when we first connect the module as a dependency. The remaining modules, which also connect this dependency, will receive the already cached value of the module. // app/index.js define(['jquery', 'utils/print', 'modules/Module1', 'modules/Module2', 'modules/Module3', 'modules/Module4', 'modules/Module5', 'modules/Module6', 'modules/Module7', 'modules/Module8', 'modules/Module9'], function($, print, Module1, Module2, Module3, Module4, Module5, Module6, Module7, Module8, Module9) { var $body = $('body'); var App = function(name) { this.name = name; this.content = $body; }; // ... });
define
, which allows you to pass only one parameter - the constructor function. // app/index.js define(function(require) { var $ = require('jquery'), print = require('utils/print'); var $body = $('body'); var App = function(name) { this.name = name; this.content = $body; }; App.prototype.init = function() { print(this.name + 'body', this.content); }; return new App('MyApp'); });
require
. It is now possible to connect module dependencies by calling this function, and it will return those values ββthat the plug-in exports. It must be remembered that this syntax is functionally the same as the previous one. All dependency files that are connected by calling require
will be loaded before the module factory function is executed. This is because when the module file is loaded into the browser, the loader searches for all local require
calls using regular expressions. For this reason, the local call require
cannot be used, for example, to load a module by condition. // modules/module.js define({ id: 123, key: 'jquery', getValue: function() { return this.key; } });
require
function. // main.js require(['app/index'], function(app) { app.init(); });
require
function differs from the local variant by the set of received parameters. In this case, the first parameter is to pass an array of plug-ins. Even if you need to connect only one module, you still need to transfer it in the array, otherwise the library recognizes it as a local call and there will be an error, since local calls are possible only within the definition of the module. The second optional parameter is a callback function, which, as in the case of define
, will be executed as soon as all the necessary dependencies are loaded.require
calls within a callback function or within a module definition. // main.js require(['app/index', 'utils/browserName'], function(app, browserName) { app.init(); if(browserName == 'IE') { require(['app/fix-' + browserName]); } });
require
call is that the included files will start loading only when the execution flow reaches the function call. Due to this, it is possible to load modules only on demand or by condition. HTML- . JS- .
<!DOCTYPE html> <html> <head> <script data-main="./main" src="lib/require.js"></script> </head> <body> <h1>RequireJS Example</h1> <form> <input /> </form> </body> </html>
data-main main.js ( .js RequireJS ) JS- .
RequireJS , , requirejs.config
.
// main.js requirejs.config({ baseUrl: 'Scripts', paths: { jquery: 'jquery-1.11.2', modules: 'app/modules', utils: 'app/utils' }, shim: { 'jquery.validate.unobtrusive': { deps: ['jquery', 'jquery.validate'], exports: '$.validator.unobtrusive' } } }); require(['app/index'], function (app) { app.init(); });
baseUrl
, JS-. , . , , require.js. path «» , .
AMD, define
. , . , RequireJS . shim
, deps
() exports
( ).
Text
RequireJS JS-, , , HTML, text .
// app/views/module.html <h3>Module:</h3> <h2>"{name}" is loaded</h2> // module.js define(function (require) { var view = require('text!app/views/module.html'); var name = 'First Module'; return { getHTML: function () { return view.replace('{name}', name); }, getName: function () { return name; } }; });
require module.html , HTML- . , HTML- JS-.
, , production. r.js, require.js.
JS, node.js. , . app.build.js, JS- .
// app.build.js ({ baseUrl: ".", dir: '../Scripts-build', mainConfigFile: 'main.js', name: "main", preserveLicenseComments: false, wrapShim: true })
baseUrl
, . dir
β . main
β , RequireJS. preserveLicenseComments
β , wrapShim
β shim- define
. : example.build.js .
>node r.js -o app.build.js
, , pre-build event Visual Studio, JS- , .
Profit
, , RequireJS:
, HTML- debug-
HTML- . JS- .
<!DOCTYPE html> <html> <head> <script data-main="./main" src="lib/require.js"></script> </head> <body> <h1>RequireJS Example</h1> <form> <input /> </form> </body> </html>
data-main main.js ( .js RequireJS ) JS- .
RequireJS , , requirejs.config
.
// main.js requirejs.config({ baseUrl: 'Scripts', paths: { jquery: 'jquery-1.11.2', modules: 'app/modules', utils: 'app/utils' }, shim: { 'jquery.validate.unobtrusive': { deps: ['jquery', 'jquery.validate'], exports: '$.validator.unobtrusive' } } }); require(['app/index'], function (app) { app.init(); });
baseUrl
, JS-. , . , , require.js. path «» , .
AMD, define
. , . , RequireJS . shim
, deps
() exports
( ).
Text
RequireJS JS-, , , HTML, text .
// app/views/module.html <h3>Module:</h3> <h2>"{name}" is loaded</h2> // module.js define(function (require) { var view = require('text!app/views/module.html'); var name = 'First Module'; return { getHTML: function () { return view.replace('{name}', name); }, getName: function () { return name; } }; });
require module.html , HTML- . , HTML- JS-.
, , production. r.js, require.js.
JS, node.js. , . app.build.js, JS- .
// app.build.js ({ baseUrl: ".", dir: '../Scripts-build', mainConfigFile: 'main.js', name: "main", preserveLicenseComments: false, wrapShim: true })
baseUrl
, . dir
β . main
β , RequireJS. preserveLicenseComments
β , wrapShim
β shim- define
. : example.build.js .
>node r.js -o app.build.js
, , pre-build event Visual Studio, JS- , .
Profit
, , RequireJS:
, HTML- debug-
HTML- . JS- .
<!DOCTYPE html> <html> <head> <script data-main="./main" src="lib/require.js"></script> </head> <body> <h1>RequireJS Example</h1> <form> <input /> </form> </body> </html>
data-main main.js ( .js RequireJS ) JS- .
RequireJS , , requirejs.config
.
// main.js requirejs.config({ baseUrl: 'Scripts', paths: { jquery: 'jquery-1.11.2', modules: 'app/modules', utils: 'app/utils' }, shim: { 'jquery.validate.unobtrusive': { deps: ['jquery', 'jquery.validate'], exports: '$.validator.unobtrusive' } } }); require(['app/index'], function (app) { app.init(); });
baseUrl
, JS-. , . , , require.js. path «» , .
AMD, define
. , . , RequireJS . shim
, deps
() exports
( ).
Text
RequireJS JS-, , , HTML, text .
// app/views/module.html <h3>Module:</h3> <h2>"{name}" is loaded</h2> // module.js define(function (require) { var view = require('text!app/views/module.html'); var name = 'First Module'; return { getHTML: function () { return view.replace('{name}', name); }, getName: function () { return name; } }; });
require module.html , HTML- . , HTML- JS-.
, , production. r.js, require.js.
JS, node.js. , . app.build.js, JS- .
// app.build.js ({ baseUrl: ".", dir: '../Scripts-build', mainConfigFile: 'main.js', name: "main", preserveLicenseComments: false, wrapShim: true })
baseUrl
, . dir
β . main
β , RequireJS. preserveLicenseComments
β , wrapShim
β shim- define
. : example.build.js .
>node r.js -o app.build.js
, , pre-build event Visual Studio, JS- , .
Profit
, , RequireJS:
, HTML- debug-
HTML- . JS- .
<!DOCTYPE html> <html> <head> <script data-main="./main" src="lib/require.js"></script> </head> <body> <h1>RequireJS Example</h1> <form> <input /> </form> </body> </html>
data-main main.js ( .js RequireJS ) JS- .
RequireJS , , requirejs.config
.
// main.js requirejs.config({ baseUrl: 'Scripts', paths: { jquery: 'jquery-1.11.2', modules: 'app/modules', utils: 'app/utils' }, shim: { 'jquery.validate.unobtrusive': { deps: ['jquery', 'jquery.validate'], exports: '$.validator.unobtrusive' } } }); require(['app/index'], function (app) { app.init(); });
baseUrl
, JS-. , . , , require.js. path «» , .
AMD, define
. , . , RequireJS . shim
, deps
() exports
( ).
Text
RequireJS JS-, , , HTML, text .
// app/views/module.html <h3>Module:</h3> <h2>"{name}" is loaded</h2> // module.js define(function (require) { var view = require('text!app/views/module.html'); var name = 'First Module'; return { getHTML: function () { return view.replace('{name}', name); }, getName: function () { return name; } }; });
require module.html , HTML- . , HTML- JS-.
, , production. r.js, require.js.
JS, node.js. , . app.build.js, JS- .
// app.build.js ({ baseUrl: ".", dir: '../Scripts-build', mainConfigFile: 'main.js', name: "main", preserveLicenseComments: false, wrapShim: true })
baseUrl
, . dir
β . main
β , RequireJS. preserveLicenseComments
β , wrapShim
β shim- define
. : example.build.js .
>node r.js -o app.build.js
, , pre-build event Visual Studio, JS- , .
Profit
, , RequireJS:
, HTML- debug-
HTML- . JS- .
<!DOCTYPE html> <html> <head> <script data-main="./main" src="lib/require.js"></script> </head> <body> <h1>RequireJS Example</h1> <form> <input /> </form> </body> </html>
data-main main.js ( .js RequireJS ) JS- .
RequireJS , , requirejs.config
.
// main.js requirejs.config({ baseUrl: 'Scripts', paths: { jquery: 'jquery-1.11.2', modules: 'app/modules', utils: 'app/utils' }, shim: { 'jquery.validate.unobtrusive': { deps: ['jquery', 'jquery.validate'], exports: '$.validator.unobtrusive' } } }); require(['app/index'], function (app) { app.init(); });
baseUrl
, JS-. , . , , require.js. path «» , .
AMD, define
. , . , RequireJS . shim
, deps
() exports
( ).
Text
RequireJS JS-, , , HTML, text .
// app/views/module.html <h3>Module:</h3> <h2>"{name}" is loaded</h2> // module.js define(function (require) { var view = require('text!app/views/module.html'); var name = 'First Module'; return { getHTML: function () { return view.replace('{name}', name); }, getName: function () { return name; } }; });
require module.html , HTML- . , HTML- JS-.
, , production. r.js, require.js.
JS, node.js. , . app.build.js, JS- .
// app.build.js ({ baseUrl: ".", dir: '../Scripts-build', mainConfigFile: 'main.js', name: "main", preserveLicenseComments: false, wrapShim: true })
baseUrl
, . dir
β . main
β , RequireJS. preserveLicenseComments
β , wrapShim
β shim- define
. : example.build.js .
>node r.js -o app.build.js
, , pre-build event Visual Studio, JS- , .
Profit
, , RequireJS:
, HTML- debug-
HTML- . JS- .
<!DOCTYPE html> <html> <head> <script data-main="./main" src="lib/require.js"></script> </head> <body> <h1>RequireJS Example</h1> <form> <input /> </form> </body> </html>
data-main main.js ( .js RequireJS ) JS- .
RequireJS , , requirejs.config
.
// main.js requirejs.config({ baseUrl: 'Scripts', paths: { jquery: 'jquery-1.11.2', modules: 'app/modules', utils: 'app/utils' }, shim: { 'jquery.validate.unobtrusive': { deps: ['jquery', 'jquery.validate'], exports: '$.validator.unobtrusive' } } }); require(['app/index'], function (app) { app.init(); });
baseUrl
, JS-. , . , , require.js. path «» , .
AMD, define
. , . , RequireJS . shim
, deps
() exports
( ).
Text
RequireJS JS-, , , HTML, text .
// app/views/module.html <h3>Module:</h3> <h2>"{name}" is loaded</h2> // module.js define(function (require) { var view = require('text!app/views/module.html'); var name = 'First Module'; return { getHTML: function () { return view.replace('{name}', name); }, getName: function () { return name; } }; });
require module.html , HTML- . , HTML- JS-.
, , production. r.js, require.js.
JS, node.js. , . app.build.js, JS- .
// app.build.js ({ baseUrl: ".", dir: '../Scripts-build', mainConfigFile: 'main.js', name: "main", preserveLicenseComments: false, wrapShim: true })
baseUrl
, . dir
β . main
β , RequireJS. preserveLicenseComments
β , wrapShim
β shim- define
. : example.build.js .
>node r.js -o app.build.js
, , pre-build event Visual Studio, JS- , .
Profit
, , RequireJS:
, HTML- debug-
HTML- . JS- .
<!DOCTYPE html> <html> <head> <script data-main="./main" src="lib/require.js"></script> </head> <body> <h1>RequireJS Example</h1> <form> <input /> </form> </body> </html>
data-main main.js ( .js RequireJS ) JS- .
RequireJS , , requirejs.config
.
// main.js requirejs.config({ baseUrl: 'Scripts', paths: { jquery: 'jquery-1.11.2', modules: 'app/modules', utils: 'app/utils' }, shim: { 'jquery.validate.unobtrusive': { deps: ['jquery', 'jquery.validate'], exports: '$.validator.unobtrusive' } } }); require(['app/index'], function (app) { app.init(); });
baseUrl
, JS-. , . , , require.js. path «» , .
AMD, define
. , . , RequireJS . shim
, deps
() exports
( ).
Text
RequireJS JS-, , , HTML, text .
// app/views/module.html <h3>Module:</h3> <h2>"{name}" is loaded</h2> // module.js define(function (require) { var view = require('text!app/views/module.html'); var name = 'First Module'; return { getHTML: function () { return view.replace('{name}', name); }, getName: function () { return name; } }; });
require module.html , HTML- . , HTML- JS-.
, , production. r.js, require.js.
JS, node.js. , . app.build.js, JS- .
// app.build.js ({ baseUrl: ".", dir: '../Scripts-build', mainConfigFile: 'main.js', name: "main", preserveLicenseComments: false, wrapShim: true })
baseUrl
, . dir
β . main
β , RequireJS. preserveLicenseComments
β , wrapShim
β shim- define
. : example.build.js .
>node r.js -o app.build.js
, , pre-build event Visual Studio, JS- , .
Profit
, , RequireJS:
, HTML- debug-
HTML- . JS- .
<!DOCTYPE html> <html> <head> <script data-main="./main" src="lib/require.js"></script> </head> <body> <h1>RequireJS Example</h1> <form> <input /> </form> </body> </html>
data-main main.js ( .js RequireJS ) JS- .
RequireJS , , requirejs.config
.
// main.js requirejs.config({ baseUrl: 'Scripts', paths: { jquery: 'jquery-1.11.2', modules: 'app/modules', utils: 'app/utils' }, shim: { 'jquery.validate.unobtrusive': { deps: ['jquery', 'jquery.validate'], exports: '$.validator.unobtrusive' } } }); require(['app/index'], function (app) { app.init(); });
baseUrl
, JS-. , . , , require.js. path «» , .
AMD, define
. , . , RequireJS . shim
, deps
() exports
( ).
Text
RequireJS JS-, , , HTML, text .
// app/views/module.html <h3>Module:</h3> <h2>"{name}" is loaded</h2> // module.js define(function (require) { var view = require('text!app/views/module.html'); var name = 'First Module'; return { getHTML: function () { return view.replace('{name}', name); }, getName: function () { return name; } }; });
require module.html , HTML- . , HTML- JS-.
, , production. r.js, require.js.
JS, node.js. , . app.build.js, JS- .
// app.build.js ({ baseUrl: ".", dir: '../Scripts-build', mainConfigFile: 'main.js', name: "main", preserveLicenseComments: false, wrapShim: true })
baseUrl
, . dir
β . main
β , RequireJS. preserveLicenseComments
β , wrapShim
β shim- define
. : example.build.js .
>node r.js -o app.build.js
, , pre-build event Visual Studio, JS- , .
Profit
, , RequireJS:
, HTML- debug-
HTML- . JS- .
<!DOCTYPE html> <html> <head> <script data-main="./main" src="lib/require.js"></script> </head> <body> <h1>RequireJS Example</h1> <form> <input /> </form> </body> </html>
data-main main.js ( .js RequireJS ) JS- .
RequireJS , , requirejs.config
.
// main.js requirejs.config({ baseUrl: 'Scripts', paths: { jquery: 'jquery-1.11.2', modules: 'app/modules', utils: 'app/utils' }, shim: { 'jquery.validate.unobtrusive': { deps: ['jquery', 'jquery.validate'], exports: '$.validator.unobtrusive' } } }); require(['app/index'], function (app) { app.init(); });
baseUrl
, JS-. , . , , require.js. path «» , .
AMD, define
. , . , RequireJS . shim
, deps
() exports
( ).
Text
RequireJS JS-, , , HTML, text .
// app/views/module.html <h3>Module:</h3> <h2>"{name}" is loaded</h2> // module.js define(function (require) { var view = require('text!app/views/module.html'); var name = 'First Module'; return { getHTML: function () { return view.replace('{name}', name); }, getName: function () { return name; } }; });
require module.html , HTML- . , HTML- JS-.
, , production. r.js, require.js.
JS, node.js. , . app.build.js, JS- .
// app.build.js ({ baseUrl: ".", dir: '../Scripts-build', mainConfigFile: 'main.js', name: "main", preserveLicenseComments: false, wrapShim: true })
baseUrl
, . dir
β . main
β , RequireJS. preserveLicenseComments
β , wrapShim
β shim- define
. : example.build.js .
>node r.js -o app.build.js
, , pre-build event Visual Studio, JS- , .
Profit
, , RequireJS:
, HTML- debug-
HTML- . JS- .
<!DOCTYPE html> <html> <head> <script data-main="./main" src="lib/require.js"></script> </head> <body> <h1>RequireJS Example</h1> <form> <input /> </form> </body> </html>
data-main main.js ( .js RequireJS ) JS- .
RequireJS , , requirejs.config
.
// main.js requirejs.config({ baseUrl: 'Scripts', paths: { jquery: 'jquery-1.11.2', modules: 'app/modules', utils: 'app/utils' }, shim: { 'jquery.validate.unobtrusive': { deps: ['jquery', 'jquery.validate'], exports: '$.validator.unobtrusive' } } }); require(['app/index'], function (app) { app.init(); });
baseUrl
, JS-. , . , , require.js. path «» , .
AMD, define
. , . , RequireJS . shim
, deps
() exports
( ).
Text
RequireJS JS-, , , HTML, text .
// app/views/module.html <h3>Module:</h3> <h2>"{name}" is loaded</h2> // module.js define(function (require) { var view = require('text!app/views/module.html'); var name = 'First Module'; return { getHTML: function () { return view.replace('{name}', name); }, getName: function () { return name; } }; });
require module.html , HTML- . , HTML- JS-.
, , production. r.js, require.js.
JS, node.js. , . app.build.js, JS- .
// app.build.js ({ baseUrl: ".", dir: '../Scripts-build', mainConfigFile: 'main.js', name: "main", preserveLicenseComments: false, wrapShim: true })
baseUrl
, . dir
β . main
β , RequireJS. preserveLicenseComments
β , wrapShim
β shim- define
. : example.build.js .
>node r.js -o app.build.js
, , pre-build event Visual Studio, JS- , .
Profit
, , RequireJS:
, HTML- debug-
HTML- . JS- .
<!DOCTYPE html> <html> <head> <script data-main="./main" src="lib/require.js"></script> </head> <body> <h1>RequireJS Example</h1> <form> <input /> </form> </body> </html>
data-main main.js ( .js RequireJS ) JS- .
RequireJS , , requirejs.config
.
// main.js requirejs.config({ baseUrl: 'Scripts', paths: { jquery: 'jquery-1.11.2', modules: 'app/modules', utils: 'app/utils' }, shim: { 'jquery.validate.unobtrusive': { deps: ['jquery', 'jquery.validate'], exports: '$.validator.unobtrusive' } } }); require(['app/index'], function (app) { app.init(); });
baseUrl
, JS-. , . , , require.js. path «» , .
AMD, define
. , . , RequireJS . shim
, deps
() exports
( ).
Text
RequireJS JS-, , , HTML, text .
// app/views/module.html <h3>Module:</h3> <h2>"{name}" is loaded</h2> // module.js define(function (require) { var view = require('text!app/views/module.html'); var name = 'First Module'; return { getHTML: function () { return view.replace('{name}', name); }, getName: function () { return name; } }; });
require module.html , HTML- . , HTML- JS-.
, , production. r.js, require.js.
JS, node.js. , . app.build.js, JS- .
// app.build.js ({ baseUrl: ".", dir: '../Scripts-build', mainConfigFile: 'main.js', name: "main", preserveLicenseComments: false, wrapShim: true })
baseUrl
, . dir
β . main
β , RequireJS. preserveLicenseComments
β , wrapShim
β shim- define
. : example.build.js .
>node r.js -o app.build.js
, , pre-build event Visual Studio, JS- , .
Profit
, , RequireJS:
, HTML- debug-
HTML- . JS- .
<!DOCTYPE html> <html> <head> <script data-main="./main" src="lib/require.js"></script> </head> <body> <h1>RequireJS Example</h1> <form> <input /> </form> </body> </html>
data-main main.js ( .js RequireJS ) JS- .
RequireJS , , requirejs.config
.
// main.js requirejs.config({ baseUrl: 'Scripts', paths: { jquery: 'jquery-1.11.2', modules: 'app/modules', utils: 'app/utils' }, shim: { 'jquery.validate.unobtrusive': { deps: ['jquery', 'jquery.validate'], exports: '$.validator.unobtrusive' } } }); require(['app/index'], function (app) { app.init(); });
baseUrl
, JS-. , . , , require.js. path «» , .
AMD, define
. , . , RequireJS . shim
, deps
() exports
( ).
Text
RequireJS JS-, , , HTML, text .
// app/views/module.html <h3>Module:</h3> <h2>"{name}" is loaded</h2> // module.js define(function (require) { var view = require('text!app/views/module.html'); var name = 'First Module'; return { getHTML: function () { return view.replace('{name}', name); }, getName: function () { return name; } }; });
require module.html , HTML- . , HTML- JS-.
, , production. r.js, require.js.
JS, node.js. , . app.build.js, JS- .
// app.build.js ({ baseUrl: ".", dir: '../Scripts-build', mainConfigFile: 'main.js', name: "main", preserveLicenseComments: false, wrapShim: true })
baseUrl
, . dir
β . main
β , RequireJS. preserveLicenseComments
β , wrapShim
β shim- define
. : example.build.js .
>node r.js -o app.build.js
, , pre-build event Visual Studio, JS- , .
Profit
, , RequireJS:
, HTML- debug-
HTML- . JS- .
<!DOCTYPE html> <html> <head> <script data-main="./main" src="lib/require.js"></script> </head> <body> <h1>RequireJS Example</h1> <form> <input /> </form> </body> </html>
data-main main.js ( .js RequireJS ) JS- .
RequireJS , , requirejs.config
.
// main.js requirejs.config({ baseUrl: 'Scripts', paths: { jquery: 'jquery-1.11.2', modules: 'app/modules', utils: 'app/utils' }, shim: { 'jquery.validate.unobtrusive': { deps: ['jquery', 'jquery.validate'], exports: '$.validator.unobtrusive' } } }); require(['app/index'], function (app) { app.init(); });
baseUrl
, JS-. , . , , require.js. path «» , .
AMD, define
. , . , RequireJS . shim
, deps
() exports
( ).
Text
RequireJS JS-, , , HTML, text .
// app/views/module.html <h3>Module:</h3> <h2>"{name}" is loaded</h2> // module.js define(function (require) { var view = require('text!app/views/module.html'); var name = 'First Module'; return { getHTML: function () { return view.replace('{name}', name); }, getName: function () { return name; } }; });
require module.html , HTML- . , HTML- JS-.
, , production. r.js, require.js.
JS, node.js. , . app.build.js, JS- .
// app.build.js ({ baseUrl: ".", dir: '../Scripts-build', mainConfigFile: 'main.js', name: "main", preserveLicenseComments: false, wrapShim: true })
baseUrl
, . dir
β . main
β , RequireJS. preserveLicenseComments
β , wrapShim
β shim- define
. : example.build.js .
>node r.js -o app.build.js
, , pre-build event Visual Studio, JS- , .
Profit
, , RequireJS:
, HTML- debug-
HTML- . JS- .
<!DOCTYPE html> <html> <head> <script data-main="./main" src="lib/require.js"></script> </head> <body> <h1>RequireJS Example</h1> <form> <input /> </form> </body> </html>
data-main main.js ( .js RequireJS ) JS- .
RequireJS , , requirejs.config
.
// main.js requirejs.config({ baseUrl: 'Scripts', paths: { jquery: 'jquery-1.11.2', modules: 'app/modules', utils: 'app/utils' }, shim: { 'jquery.validate.unobtrusive': { deps: ['jquery', 'jquery.validate'], exports: '$.validator.unobtrusive' } } }); require(['app/index'], function (app) { app.init(); });
baseUrl
, JS-. , . , , require.js. path «» , .
AMD, define
. , . , RequireJS . shim
, deps
() exports
( ).
Text
RequireJS JS-, , , HTML, text .
// app/views/module.html <h3>Module:</h3> <h2>"{name}" is loaded</h2> // module.js define(function (require) { var view = require('text!app/views/module.html'); var name = 'First Module'; return { getHTML: function () { return view.replace('{name}', name); }, getName: function () { return name; } }; });
require module.html , HTML- . , HTML- JS-.
, , production. r.js, require.js.
JS, node.js. , . app.build.js, JS- .
// app.build.js ({ baseUrl: ".", dir: '../Scripts-build', mainConfigFile: 'main.js', name: "main", preserveLicenseComments: false, wrapShim: true })
baseUrl
, . dir
β . main
β , RequireJS. preserveLicenseComments
β , wrapShim
β shim- define
. : example.build.js .
>node r.js -o app.build.js
, , pre-build event Visual Studio, JS- , .
Profit
, , RequireJS:
, HTML- debug-
HTML- . JS- .
<!DOCTYPE html> <html> <head> <script data-main="./main" src="lib/require.js"></script> </head> <body> <h1>RequireJS Example</h1> <form> <input /> </form> </body> </html>
data-main main.js ( .js RequireJS ) JS- .
RequireJS , , requirejs.config
.
// main.js requirejs.config({ baseUrl: 'Scripts', paths: { jquery: 'jquery-1.11.2', modules: 'app/modules', utils: 'app/utils' }, shim: { 'jquery.validate.unobtrusive': { deps: ['jquery', 'jquery.validate'], exports: '$.validator.unobtrusive' } } }); require(['app/index'], function (app) { app.init(); });
baseUrl
, JS-. , . , , require.js. path «» , .
AMD, define
. , . , RequireJS . shim
, deps
() exports
( ).
Text
RequireJS JS-, , , HTML, text .
// app/views/module.html <h3>Module:</h3> <h2>"{name}" is loaded</h2> // module.js define(function (require) { var view = require('text!app/views/module.html'); var name = 'First Module'; return { getHTML: function () { return view.replace('{name}', name); }, getName: function () { return name; } }; });
require module.html , HTML- . , HTML- JS-.
, , production. r.js, require.js.
JS, node.js. , . app.build.js, JS- .
// app.build.js ({ baseUrl: ".", dir: '../Scripts-build', mainConfigFile: 'main.js', name: "main", preserveLicenseComments: false, wrapShim: true })
baseUrl
, . dir
β . main
β , RequireJS. preserveLicenseComments
β , wrapShim
β shim- define
. : example.build.js .
>node r.js -o app.build.js
, , pre-build event Visual Studio, JS- , .
Profit
, , RequireJS:
, HTML- debug-
HTML- . JS- .
<!DOCTYPE html> <html> <head> <script data-main="./main" src="lib/require.js"></script> </head> <body> <h1>RequireJS Example</h1> <form> <input /> </form> </body> </html>
data-main main.js ( .js RequireJS ) JS- .
RequireJS , , requirejs.config
.
// main.js requirejs.config({ baseUrl: 'Scripts', paths: { jquery: 'jquery-1.11.2', modules: 'app/modules', utils: 'app/utils' }, shim: { 'jquery.validate.unobtrusive': { deps: ['jquery', 'jquery.validate'], exports: '$.validator.unobtrusive' } } }); require(['app/index'], function (app) { app.init(); });
baseUrl
, JS-. , . , , require.js. path «» , .
AMD, define
. , . , RequireJS . shim
, deps
() exports
( ).
Text
RequireJS JS-, , , HTML, text .
// app/views/module.html <h3>Module:</h3> <h2>"{name}" is loaded</h2> // module.js define(function (require) { var view = require('text!app/views/module.html'); var name = 'First Module'; return { getHTML: function () { return view.replace('{name}', name); }, getName: function () { return name; } }; });
require module.html , HTML- . , HTML- JS-.
, , production. r.js, require.js.
JS, node.js. , . app.build.js, JS- .
// app.build.js ({ baseUrl: ".", dir: '../Scripts-build', mainConfigFile: 'main.js', name: "main", preserveLicenseComments: false, wrapShim: true })
baseUrl
, . dir
β . main
β , RequireJS. preserveLicenseComments
β , wrapShim
β shim- define
. : example.build.js .
>node r.js -o app.build.js
, , pre-build event Visual Studio, JS- , .
Profit
, , RequireJS:
, HTML- debug-
HTML- . JS- .
<!DOCTYPE html> <html> <head> <script data-main="./main" src="lib/require.js"></script> </head> <body> <h1>RequireJS Example</h1> <form> <input /> </form> </body> </html>
data-main main.js ( .js RequireJS ) JS- .
RequireJS , , requirejs.config
.
// main.js requirejs.config({ baseUrl: 'Scripts', paths: { jquery: 'jquery-1.11.2', modules: 'app/modules', utils: 'app/utils' }, shim: { 'jquery.validate.unobtrusive': { deps: ['jquery', 'jquery.validate'], exports: '$.validator.unobtrusive' } } }); require(['app/index'], function (app) { app.init(); });
baseUrl
, JS-. , . , , require.js. path «» , .
AMD, define
. , . , RequireJS . shim
, deps
() exports
( ).
Text
RequireJS JS-, , , HTML, text .
// app/views/module.html <h3>Module:</h3> <h2>"{name}" is loaded</h2> // module.js define(function (require) { var view = require('text!app/views/module.html'); var name = 'First Module'; return { getHTML: function () { return view.replace('{name}', name); }, getName: function () { return name; } }; });
require module.html , HTML- . , HTML- JS-.
, , production. r.js, require.js.
JS, node.js. , . app.build.js, JS- .
// app.build.js ({ baseUrl: ".", dir: '../Scripts-build', mainConfigFile: 'main.js', name: "main", preserveLicenseComments: false, wrapShim: true })
baseUrl
, . dir
β . main
β , RequireJS. preserveLicenseComments
β , wrapShim
β shim- define
. : example.build.js .
>node r.js -o app.build.js
, , pre-build event Visual Studio, JS- , .
Profit
, , RequireJS:
, HTML- debug-
HTML- . JS- .
<!DOCTYPE html> <html> <head> <script data-main="./main" src="lib/require.js"></script> </head> <body> <h1>RequireJS Example</h1> <form> <input /> </form> </body> </html>
data-main main.js ( .js RequireJS ) JS- .
RequireJS , , requirejs.config
.
// main.js requirejs.config({ baseUrl: 'Scripts', paths: { jquery: 'jquery-1.11.2', modules: 'app/modules', utils: 'app/utils' }, shim: { 'jquery.validate.unobtrusive': { deps: ['jquery', 'jquery.validate'], exports: '$.validator.unobtrusive' } } }); require(['app/index'], function (app) { app.init(); });
baseUrl
, JS-. , . , , require.js. path «» , .
AMD, define
. , . , RequireJS . shim
, deps
() exports
( ).
Text
RequireJS JS-, , , HTML, text .
// app/views/module.html <h3>Module:</h3> <h2>"{name}" is loaded</h2> // module.js define(function (require) { var view = require('text!app/views/module.html'); var name = 'First Module'; return { getHTML: function () { return view.replace('{name}', name); }, getName: function () { return name; } }; });
require module.html , HTML- . , HTML- JS-.
, , production. r.js, require.js.
JS, node.js. , . app.build.js, JS- .
// app.build.js ({ baseUrl: ".", dir: '../Scripts-build', mainConfigFile: 'main.js', name: "main", preserveLicenseComments: false, wrapShim: true })
baseUrl
, . dir
β . main
β , RequireJS. preserveLicenseComments
β , wrapShim
β shim- define
. : example.build.js .
>node r.js -o app.build.js
, , pre-build event Visual Studio, JS- , .
Profit
, , RequireJS:
, HTML- debug-
HTML- . JS- .
<!DOCTYPE html> <html> <head> <script data-main="./main" src="lib/require.js"></script> </head> <body> <h1>RequireJS Example</h1> <form> <input /> </form> </body> </html>
data-main main.js ( .js RequireJS ) JS- .
RequireJS , , requirejs.config
.
// main.js requirejs.config({ baseUrl: 'Scripts', paths: { jquery: 'jquery-1.11.2', modules: 'app/modules', utils: 'app/utils' }, shim: { 'jquery.validate.unobtrusive': { deps: ['jquery', 'jquery.validate'], exports: '$.validator.unobtrusive' } } }); require(['app/index'], function (app) { app.init(); });
baseUrl
, JS-. , . , , require.js. path «» , .
AMD, define
. , . , RequireJS . shim
, deps
() exports
( ).
Text
RequireJS JS-, , , HTML, text .
// app/views/module.html <h3>Module:</h3> <h2>"{name}" is loaded</h2> // module.js define(function (require) { var view = require('text!app/views/module.html'); var name = 'First Module'; return { getHTML: function () { return view.replace('{name}', name); }, getName: function () { return name; } }; });
require module.html , HTML- . , HTML- JS-.
, , production. r.js, require.js.
JS, node.js. , . app.build.js, JS- .
// app.build.js ({ baseUrl: ".", dir: '../Scripts-build', mainConfigFile: 'main.js', name: "main", preserveLicenseComments: false, wrapShim: true })
baseUrl
, . dir
β . main
β , RequireJS. preserveLicenseComments
β , wrapShim
β shim- define
. : example.build.js .
>node r.js -o app.build.js
, , pre-build event Visual Studio, JS- , .
Profit
, , RequireJS:
, HTML- debug-
HTML- . JS- .
<!DOCTYPE html> <html> <head> <script data-main="./main" src="lib/require.js"></script> </head> <body> <h1>RequireJS Example</h1> <form> <input /> </form> </body> </html>
data-main main.js ( .js RequireJS ) JS- .
RequireJS , , requirejs.config
.
// main.js requirejs.config({ baseUrl: 'Scripts', paths: { jquery: 'jquery-1.11.2', modules: 'app/modules', utils: 'app/utils' }, shim: { 'jquery.validate.unobtrusive': { deps: ['jquery', 'jquery.validate'], exports: '$.validator.unobtrusive' } } }); require(['app/index'], function (app) { app.init(); });
baseUrl
, JS-. , . , , require.js. path «» , .
AMD, define
. , . , RequireJS . shim
, deps
() exports
( ).
Text
RequireJS JS-, , , HTML, text .
// app/views/module.html <h3>Module:</h3> <h2>"{name}" is loaded</h2> // module.js define(function (require) { var view = require('text!app/views/module.html'); var name = 'First Module'; return { getHTML: function () { return view.replace('{name}', name); }, getName: function () { return name; } }; });
require module.html , HTML- . , HTML- JS-.
, , production. r.js, require.js.
JS, node.js. , . app.build.js, JS- .
// app.build.js ({ baseUrl: ".", dir: '../Scripts-build', mainConfigFile: 'main.js', name: "main", preserveLicenseComments: false, wrapShim: true })
baseUrl
, . dir
β . main
β , RequireJS. preserveLicenseComments
β , wrapShim
β shim- define
. : example.build.js .
>node r.js -o app.build.js
, , pre-build event Visual Studio, JS- , .
Profit
, , RequireJS:
, HTML- debug-
HTML- . JS- .
<!DOCTYPE html> <html> <head> <script data-main="./main" src="lib/require.js"></script> </head> <body> <h1>RequireJS Example</h1> <form> <input /> </form> </body> </html>
data-main main.js ( .js RequireJS ) JS- .
RequireJS , , requirejs.config
.
// main.js requirejs.config({ baseUrl: 'Scripts', paths: { jquery: 'jquery-1.11.2', modules: 'app/modules', utils: 'app/utils' }, shim: { 'jquery.validate.unobtrusive': { deps: ['jquery', 'jquery.validate'], exports: '$.validator.unobtrusive' } } }); require(['app/index'], function (app) { app.init(); });
baseUrl
, JS-. , . , , require.js. path «» , .
AMD, define
. , . , RequireJS . shim
, deps
() exports
( ).
Text
RequireJS JS-, , , HTML, text .
// app/views/module.html <h3>Module:</h3> <h2>"{name}" is loaded</h2> // module.js define(function (require) { var view = require('text!app/views/module.html'); var name = 'First Module'; return { getHTML: function () { return view.replace('{name}', name); }, getName: function () { return name; } }; });
require module.html , HTML- . , HTML- JS-.
, , production. r.js, require.js.
JS, node.js. , . app.build.js, JS- .
// app.build.js ({ baseUrl: ".", dir: '../Scripts-build', mainConfigFile: 'main.js', name: "main", preserveLicenseComments: false, wrapShim: true })
baseUrl
, . dir
β . main
β , RequireJS. preserveLicenseComments
β , wrapShim
β shim- define
. : example.build.js .
>node r.js -o app.build.js
, , pre-build event Visual Studio, JS- , .
Profit
, , RequireJS:
, HTML- debug-
HTML- . JS- .
<!DOCTYPE html> <html> <head> <script data-main="./main" src="lib/require.js"></script> </head> <body> <h1>RequireJS Example</h1> <form> <input /> </form> </body> </html>
data-main main.js ( .js RequireJS ) JS- .
RequireJS , , requirejs.config
.
// main.js requirejs.config({ baseUrl: 'Scripts', paths: { jquery: 'jquery-1.11.2', modules: 'app/modules', utils: 'app/utils' }, shim: { 'jquery.validate.unobtrusive': { deps: ['jquery', 'jquery.validate'], exports: '$.validator.unobtrusive' } } }); require(['app/index'], function (app) { app.init(); });
baseUrl
, JS-. , . , , require.js. path «» , .
AMD, define
. , . , RequireJS . shim
, deps
() exports
( ).
Text
RequireJS JS-, , , HTML, text .
// app/views/module.html <h3>Module:</h3> <h2>"{name}" is loaded</h2> // module.js define(function (require) { var view = require('text!app/views/module.html'); var name = 'First Module'; return { getHTML: function () { return view.replace('{name}', name); }, getName: function () { return name; } }; });
require module.html , HTML- . , HTML- JS-.
, , production. r.js, require.js.
JS, node.js. , . app.build.js, JS- .
// app.build.js ({ baseUrl: ".", dir: '../Scripts-build', mainConfigFile: 'main.js', name: "main", preserveLicenseComments: false, wrapShim: true })
baseUrl
, . dir
β . main
β , RequireJS. preserveLicenseComments
β , wrapShim
β shim- define
. : example.build.js .
>node r.js -o app.build.js
, , pre-build event Visual Studio, JS- , .
Profit
, , RequireJS:
, HTML- debug-
Source: https://habr.com/ru/post/261141/
All Articles