How to use native client-side libraries in Meteor?

Lombric picture Lombric · Nov 8, 2013 · Viewed 7.3k times · Source

Current Meteor version:
Preview 0.6.6.3

I am tying to add client libraries in my Meteor project (on Ubuntu and also on Windows) with Meteor or meteorite, such as Taggle.js.
Those libraries are not available as packages on Atmosphere.

I tried to copy and paste my *.js in the .meteor/local/build/programs/client or .meteor/local/build/programs/client/app but it didn't work.

How can I put client-side native libraries in my Meteor project?

My current application structure:

my_app/

  • css/
  • pages/
  • js/
  • .meteor/

Answer

Hubert OG picture Hubert OG · Nov 8, 2013

You shouldn't manually mess with files in .meteor directory (except for packages and release files), that's where Meteor puts its compiled files. All libraries should go to source folder - so basically anywhere else.

I assume those are client-side libraries.

In that case, put them:

  • in /client if it doesn't matter when they are loaded and they happen to work there;
  • in /client/lib if you need to load them before the rest of the code;
  • in /client/compatibility if the code is not prepared to work with Meteor and you don't want to / don't know how to fix it;
  • in /client/lib/compatibility if both of the above conditions occur. I'd recommend to put them here on the beginning just to be safe.