Skip to content

define(modulename, dependencies... #122

@jorbar

Description

@jorbar

The first parameter to the function define(moduleid, ...) only accepts a string and not a variable as input.

Minimal example:
//
// Does not work:
var moduleid = 'Mymodule';
var dependencies = ['dependency1', 'dependency2'];
define(moduleid, dependencies, function (dep1, dep2) {
return 'Module ' + moduleid + ' with dependencies ' + dependencies.join(', ') + '.';
});
//
// Works:
define('Mymodule', ['dependency1', 'dependency2'], function (dep1, dep2) {
return 'Module ' + 'Mymodule' + ' with dependencies ' + 'dependency1, dependency2' + '.';
});

http://gregfranko.com/amdclean/?code=%2F%2F%0A%2F%2F%20Does%20not%20work%3A%0Avar%20moduleid%20%3D%20'Mymodule'%3B%0Avar%20dependencies%20%3D%20%5B'dependency1'%2C%20'dependency2'%5D%3B%0Adefine(moduleid%2C%20dependencies%2C%20function%20(dep1%2C%20dep2)%20%7B%0A%20%20return%20'Module%20'%20%2B%20moduleid%20%2B%20'%20with%20dependencies%20'%20%2B%20dependencies.join('%2C%20')%20%2B%20'.'%3B%0A%7D)%3B%0A%2F%2F%0A%2F%2F%20Works%3A%0Adefine('Mymodule'%2C%20%5B'dependency1'%2C%20'dependency2'%5D%2C%20function%20(dep1%2C%20dep2)%20%7B%0A%20%20return%20'Module%20'%20%2B%20'Mymodule'%20%2B%20'%20with%20dependencies%20'%20%2B%20'dependency1%2C%20dependency2'%20%2B%20'.'%3B%0A%7D)%3B%0A

Normal application
(function(root, moduleid, dependencies){
define(moduleid, dependencies, function(){
return "Module " + moduleid + " with dependencies " + dependencies.join(", ") + ".";
});
console.log("Module " + moduleid + " successfully loaded.");
})(this, "MyModule", ["dependency1", "dependency2"]);

Live here:
http://gregfranko.com/amdclean/?code=(function(root%2C%20moduleid%2C%20dependencies)%7B%0A%20%20define(moduleid%2C%20dependencies%2C%20function()%7B%0A%20%20%20%20%20return%20%22Module%20%22%20%2B%20moduleid%20%2B%20%22%20with%20dependencies%20%22%20%2B%20dependencies.join(%22%2C%20%22)%20%2B%20%22.%22%3B%0A%20%20%7D)%3B%0A%20%20console.log(%22Module%20%22%20%2B%20moduleid%20%2B%20%22%20successfully%20loaded.%22)%3B%0A%7D)(this%2C%20%22MyModule%22%2C%20%5B%22dependency1%22%2C%20%22dependency2%22%5D)%3B%0A

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions