【问题标题】:Unable to set up sample React project correctly?无法正确设置示例 React 项目?
【发布时间】:2021-06-29 18:25:03
【问题描述】:

我下周接受了面试评估,他们为我提供了一个示例代码项目,说明了我的期望。问题是我遇到了很多麻烦,只需将其设置为按预期运行...

已编辑:出于隐私考虑删除项目

我克隆了项目并安装了所有依赖项。

问题 1 我按照自述文件创建了一个名为 messenger 的数据库,然后在 server 目录中创建了一个 .env 文件。问题是我无法通过 process.env.REACT_APP_CUSTOM_VAR 从该 .env 文件中检索任何值。 Console.logging "process.env" 不显示任何自定义变量。就好像它们甚至没有被创造出来一样......

问题 2 在前端,它应该很简单(npm install 然后 npm start)。开始时,我发现没有应用 CSS(尽管阅读了代码并且使用了 Material UI)。当我检查页面时,我收到错误“服务器响应状态为 431(请求标头字段太大)。

我很难相信公司给了我超级损坏的代码,以至于我什至无法正确运行示例代码...谁能帮助我并尝试安装上面的代码项目?如果您遇到同样的问题或找到任何解决方案,请告诉我!

【问题讨论】:

    标签: node.js reactjs material-ui


    【解决方案1】:

    提交一个问题,要求他们添加.nvmrcpackage-lock.json,这样您就可以确保您的机器准备好吸收依赖关系并使用正确版本的node 正确定位。以其他方式测试 node 的各种版本与他们的构建相比,这是一个废话。

    最好的办法是检查客户端 (javascript) 代码的首次发布日期与当时最新版本的节点。这很糟糕,但这就是我会做的。

    【讨论】:

    • 我想我确实在那里看到了一个 package-lock.json 文件。听起来我的环境有问题,但我尝试了相同的过程并得到了相同的错误结果。损坏的 css、环境变量不起作用,甚至功能(使用正确的凭据登录)都是我得到的……
    • 我应该注意到这些都与环境有关。我就本地开发中的npmnode 版本对我的同事进行了调查。在 13 个前端中,没有一个同事拥有相同的版本。如果公司有兴趣寻找人才并且知道他们在寻找什么,他们会在你了解这些事实的情况下发出信号。
    【解决方案2】:

    项目运行良好。 没有真正应用样式,但这似乎是故意的。

    通过更改 db.js,您很可能会受益于使用您可以访问的任何数据库(在我的例子中是 mssql)

    const db = new Sequelize('dbname', 'user', 'password', {
      host: 'host',
      port: 1433,
      logging: false,
      dialect: 'mssql',
      dialectOptions: {
        encrypt: true,
      },
    });
    

    如果你想要这份工作,你应该做的是批评它。它可以很好地作为招聘任务的基准。在这种情况下,您的环境是问题所在。

    不要忘记在后端运行种子。

    【讨论】:

    • 听起来我的环境是问题所在。我能够在后端运行种子,但只有当我自己在 db.js 中硬编码 DatabaseURL 字符串而不是使用环境变量时。对于 css,您是否看到任何颜色或样式?我所看到的只是一个没有颜色的破碎形式。即使输入正确的用户凭据,它也不起作用......关于我在环境中哪里出错的任何想法?
    • 使用的凭据是名称,而不是电子邮件地址。我用 thomas/123456 登录很好。该表单完全没有样式。之后的页面具有最低限度。你把你的 .env 文件放在哪里?在 /server/.env 中,还是在其他地方?
    • 是的,我尝试使用 julia/123456 登录,但失败了。我什至无法通过登录页面。该表单根本没有样式/颜色,但是当我检查页面时,我可以看到使用的材料 UI 组件。我把我的 .env 文件放在 /server 中,因为说明说要把它放在 /server 的根目录中。这里的每个人似乎都可以正常登录并查看样式...
    【解决方案3】:

    对于服务器上的问题 1,我在 ./server 目录上创建了一个 .env 文件,并且记录 process.env 记录了该文件中的变量。此外,在后端,您在访问环境变量时不需要 REACT_APP_CUSTOM_VAR 前缀。

    对于前端的问题2,安装后,客户端从mui正确加载了css。我正在使用节点 14.17.0。

    【讨论】:

    • 听起来我的环境是问题所在。我能够在后端运行种子,但只有当我自己在 db.js 中硬编码 DatabaseURL 字符串而不是使用环境变量时。对于 css,您是否看到任何颜色或样式?我所看到的只是一个没有颜色的破碎形式。即使输入正确的用户凭据,它也不起作用......关于我在环境中哪里出错的任何想法?
    猜你喜欢
    • 2016-05-26
    • 1970-01-01
    • 2016-07-12
    • 2018-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-01
    相关资源
    最近更新 更多