With the official launch of Meteor, is there a solid way to use NPM packages? I'm trying to use embed.ly but I don't see any straightforward way to do so.
Also, as a meteor novice, how do I include packages in my files? I don't see any 'require' or 'exports' functions.
Thanks!
To use an npm package from a file in your application you import the name of the package: import moment from 'moment'; // this is equivalent to the standard node require: const moment = require('moment'); This imports the default export from the package into the symbol moment .
To use an Atmosphere Package in your app you can import it with the meteor/ prefix: import { Mongo } from "meteor/mongo"; Typically a package will export one or more symbols, which you'll need to reference with the destructuring syntax. You can find these exported symbols by either looking in that package's package.
Meteor is a full-stack JavaScript platform for developing modern web and mobile applications. Meteor includes a key set of technologies for building connected-client reactive applications, a build tool, and a curated set of packages from the Node. js and general JavaScript community.
In the new "localmarket" example, they include a npm package in the package directory like this:
Request = Meteor.wrapAsync(Npm.require('request'));
and in the package.js file:
Package.describe({
summary: "Wraps the request module from Npm in a fiber.",
version: '0.0.0'
});
Npm.depends({request: "2.33.0"});
Package.on_use(function (api) {
api.add_files('request-server.js', 'server');
api.export('Request');
});
You can install meteorhacks:npm
meteor add meteorhacks:npm
meteor
Meteor will then stop. You can then edit the new package.json file
{
"request" : "2.33.0"
}
Then when you start Meteor it will install the npm modules for you.
Usage would as follows (use Meteor.npmRequire
instead of require
)
request = Meteor.npmRequire("request");
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With