Reputation: 1698
How do I correctly import my collection definition? I get this error message when as a result of trying to import
I externalized my collection definition FROM the main myMeteorApp.js file: (My directory structure looked like this:)
/myMeteorApp
/myMeteorApp.js
...TO the tasks.js file: (My directory structure currently looks like this:)
/myMeteorApp
--/imports/api/tasks.js
The contents of tasks.js look like this:
import { Mongo } from "meteor/mongo";
const Images = new FS.Collection("images", {
stores: [new FS.Store.FileSystem("images", {path: "~/uploads"})]
});
const buyList = new Mongo.Collection("BuyList");
const WhoAreWe = new Mongo.Collection("whoDb");
const merchantReviews = new Mongo.Collection("MerchantReviews");
const Messages = new Meteor.Collection("messages", {transform: function (doc) { doc.buyListObj = buyList.find({sessionIDz: {$in: [doc.buyList]}}); return doc; }});
export { Images };
export { buyList };
export { WhoAreWe };
export { merchantReviews };
export { Messages };
I have packages babel-preset-es2015 and ecmascript installed, but these haven't helped.
Looking forward to your help...
Upvotes: 0
Views: 119
Reputation: 16478
Everything is the chat session we had indicates that your original app used Meteor 1.2, which did not support ES2015 modules. In addition, you did not import
them correctly.
Here is a short checklist for import
-related issues:
meteor --version
). Earlier versions did not support the modules feature.ecmascript
package installed (run meteor list
or cat .meteor/packages | grep ecmascript
from your project's root directory. If not, meteor add ecmascript
. This is the package used for compiling ES2015.Make sure that you are using it correctly. There are 2 types of exports:
import foo from 'imports/bar'
goes with export default bar
.import { foo } from 'imports/bar'
goes with export const foo = ...
, etc.Upvotes: 1