crapthings crapthings - 2 days ago 3
Javascript Question

How can I add third-party JavaScript libraries to a Meteor application?

I want to add a JavaScript front-end plugin, like

jquery.center.js
, to a Meteor app.

If I put it in my
app/
directory and refresh the page I get this error:


Your app is crashing. Here's the latest log.

node.js:201

throw e; // process.nextTick error, or 'error' event on first tick

^

ReferenceError: jQuery is not defined

at app/jquery.center.js:43:1

at /Users/crapthings/Desktop/app/.meteor/local/build/server/server.js:111:21

at Array.forEach (native)

at Function. (/Users/crapthings/Desktop/app/.meteor/local/build/server/underscore.js:76:11)

at /Users/crapthings/Desktop/app/.meteor/local/build/server/server.js:97:7

Exited with code: 1

Your application is crashing. Waiting for file change.

Answer

You are putting jquery plugin javascript file in app folder directly,so that javascript file will be be loaded for client as well as server.

As per Meteor documentation:
Client loads javascript from: project/public and project/client
Server loads javascript from: project/public and project/server folders.

As of v1.0, Meteor is using jQuery internally in the client, so you can use your library directly without adding jQuery. However, it's recommended that you add jQuery to your Meteor project explicitly:

meteor add jquery

The Meteor docs explain in depth how JavaScript files are loaded and where static assets should go (CSS, images).

See also how to repackage an existing library for Meteor.

Comments