尝试使用 Marak/faker.js 导入数据时出错

Error when trying to import data with Marak/faker.js

我似乎找不到我的问题。有人看到我做错了什么吗? 这个项目是用 Meteor 和 React 制作的。

我的导入文件:

import _ from 'lodash';
import { lorem, faker } from 'faker';
import { Comments } from '../../api/comments/comments';
import { insertComment } from '../../api/comments/methods.js';
import { Bert } from 'meteor/themeteorchef:bert';


Meteor.startup(() => {
 // Great place to generate some data

 // Check to see if data excists in the collection
 // See if the collection has any records
 const numberRecords = Comments.find({}).count();
 if (!numberRecords) {
  // Generate some data...
  _.times(100, () => {
   const title = faker.lorem.title();
   const content = faker.lorem.title();

   insertComment.call({
    title, content,
   }, (error) => {
    if (error) {
           Bert.alert(error.reason, 'danger');
       } else {
           target.value = '';
           Bert.alert('Comment added!', 'success');
       }
   });
  });
 }
});

这是我用来写评论的方法文件:

import { Comments } from './comments';
import { SimpleSchema } from 'meteor/aldeed:simple-schema';
import { ValidatedMethod } from 'meteor/mdg:validated-method';
import { rateLimit } from '../../modules/rate-limit.js';

export const insertComment = new ValidatedMethod({
  name: 'comments.insert',
  validate: new SimpleSchema({
    title: { type: String },
    content: { type: String },
  }).validator(),
  run(comment) {
    Comments.insert(comment);
  },
});

rateLimit({
  methods: [
    insertComment,

  ],
  limit: 5,
  timeRange: 1000,
});

这是我在终端中收到的错误代码: 类型错误:无法读取未定义的 属性 'lorem'。

非常感谢任何帮助。

编辑:

按照建议,我将导入从 "import { lorem, faker } from 'faker';" 更改为 "import faker from 'faker';"

我也把这个"faker.lorem.title();"改成了"faker.hacker.noun();"

谢谢 Guig!

It looks like Faker 正在导出 faker 作为默认值,而不是常量。所以你应该做

import faker from 'faker';
// then use `faker.lorem` as you are currently doing

import { lorem } from 'faker';
// then use `lorem` instead of `faker.lorem`

目前,您正在做

import { lorem, faker } from 'faker';

然后使用 faker.lorem,因此您导入的 lorem 不会被使用。并且您尝试导入的 faker 未定义,因此调用 faker.lorem(... 会引发异常 TypeError: Cannot read property 'lorem' of undefined.