【问题标题】:'Seed' is not defined no-undef. seed.js has IIFE“种子”未定义为 no-undef。 seed.js 有 IIFE
【发布时间】:2019-08-02 05:57:54
【问题描述】:

在 Accomazzo 的 React Fullstack 一书中,在第一章中他们使用了 seed.js 作为数据源。它有 IIFE,他们使用窗口对象在项目的任何地方使用它。但是当我创建自己的反应项目并遵循代码时,它显示一个错误,说 Seed is not defined no-undef

我尝试过导入,包括 html 文件中的 js 文件,但这些似乎不起作用

这是 app.js 文件

import React from 'react';
class PlayerList extends React.Component {
  render() {
    const player = Seed.players[0]
    return (
      <div className='ui unstackable items'>
        <Player 
        id={player.id}
        name={player.name}
        club={player.club}
        url={player.url}
        votes={player.votes}
        submitterAvatarUrl={player.submitterAvatarUrl}
        playerImgUrl={player.playerImgUrl}
        />
      </div>
    )
  }
}

这是seed.js 文件

window.Seed = (function () {
  function generateVoteCount() {
    return Math.floor((Math.random() * 50) + 15);
  }

  const players = [
    {
      id: 1,
      name: 'CR7',
      club: 'Juventus',
      url: '#',
      votes: generateVoteCount(),
      submitterAvatarUrl: 'images/avatars/profile-pic.jpeg',
      playerImgUrl: 'images/players/CR7.jpg',
    },
    {
      id: 2,
      name: 'LM10',
      club: 'Barcelona',
      url: '#',
      votes: generateVoteCount(),
      submitterAvatarUrl: 'images/avatars/kristy.png',
      playerImgUrl: 'images/players/LM10.jp',
    },
    {
      id: 3,
      name: 'MS10',
      club: 'Liverpool',
      url: '#',
      votes: generateVoteCount(),
      submitterAvatarUrl: 'images/avatars/veronika.jpg',
      playerImgUrl: 'images/players/MS10.jpg',
    },
  ];

  return { players: players };
}());

【问题讨论】:

  • 你试过const player = window.Seed.players[0]吗?您还需要确保 seed.js 是您包含在 bundle/html 中的第一个 JS 文件。
  • 您是否检查过浏览器中的 Seed 是否可用?你确定 seed.js 正在加载吗?
  • window.Seed.players[0] 为我工作,谢谢@Clarity。另外,我如何检查浏览器中的 Seed 是否可用,@F.bernal?

标签: reactjs iife


【解决方案1】:

在这里您可以找到一个工作示例,只需导入您的种子文件。基本上,您只需要import 'seed' 并为避免错误添加window.Seed

https://codesandbox.io/s/stackoverflow-import-iife-5mojf

【讨论】:

  • 这对我有用,谢谢!但由于某种原因,图像现在不显示。如您所见,我将它们包含在具有正确路径的 seed.js 文件中,但我想知道为什么它们没有出现?
  • 如果解决了,您必须将其标记为已解决,图像的错误是另一个问题,您必须显示有关它的更多信息。
  • 我将其标记为已解决。 src文件中的路径如下:src文件里面有app.js,seed.js,images(images文件也有2个子文件夹叫players和avatars),app.css, index.js、app.test.jspublic 文件中的路径为:index.html。我还应该提供哪些其他信息?
猜你喜欢
  • 2021-10-16
  • 2018-06-09
  • 2018-10-02
  • 2021-05-26
  • 2021-06-17
  • 2022-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多