Unable to specify file path when using a plugin in `data-main` attribute #1472

Closed
christowiz opened this Issue Jan 12, 2016 · 1 comment

Projects

None yet

2 participants

@christowiz

Wondering if there is a specific reason file paths are not supported when using a plugin in the data-main attribute. I created a plugin that bootstraps the application by loading the config object then calling a mediator.

I am initializing the app here passing the mediator name home

<script src="vendor/require.js" data-main="plugins/config!home"></script>

And here is the plugin.

define({
    load: function( name, req, onload, config )  {

        req( [ 'require-config.js' ], function( value ) {

            onload( value );

            require.config( value );

            req( [ 'mediators/' + name ] );

        });
    }
});

This works but it would be simpler to be able to pass the home mediator path (mediators/home) to the plugin so it doesn't have to be hardcoded into the file in case we need to load something outside of the mediators directory.

<script src="vendor/require.js" data-main="plugins/config!mediators/home"></script>

But this throws an error because the data-main attribute is parsing the path after the plugin (!).

I know I can split it into two <script> tags to load the config and then load the mediator but I'd rather have a bootstrap file that can take care of the config object outside of the HTML structure and keep the single entry point.

@jrburke jrburke added this to the 2.1.23 milestone Jan 21, 2016
@jrburke jrburke modified the milestone: 2.1.23, 2.2.0 Mar 15, 2016
@jrburke jrburke closed this in c5f7735 Mar 15, 2016
@christowiz

Thanks for the change!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment