Search code examples
javascriptrequirejsamd

Using Asynchronous Module load in javascript library project


I am working on an javascript project which will be provided as a third-library.

And there are a lot of modules and templates which is a waste of time and performance if loading them all at once. So I think use a module loader like requirejs maybe a good idea.

However since the project will be use by other people, so how about the client use requirejs at the same time?

Since I have to config the dependencies for my own library, while the client need to config the dependencies for his project. I am afraid this will cause some conflict.

Any alternatives?


Solution

  • And there are a lot of modules and templates which is a waste of time and performance if loading them all at once.

    It sounds like you are opting to not use r.js to optimize your library. This is a choice you can make. However, you will have to document your library so that people using it can produce a RequireJS configuration that will take care of the needs of their own code and the needs of your library. You should provide an example of RequireJS configuration that satisfies your library and people wanting to use it can integrate that configuration with their own.

    If you were to optimize your library with r.js, then you could use Almond to load your library as a single unit, and hide the fact that it is a collection of AMD modules. However, this entails "loading them all at once", which you do not want.