【问题标题】:Meteor Error: Uncaught Error: Cannot find module 'component.jsx'流星错误:未捕获的错误:找不到模块'component.jsx'
【发布时间】:2017-05-18 00:47:35
【问题描述】:

我遇到了一个让我非常难过的问题。

我已经开发了一周的 Meteor/React 应用程序。在我的桌面上一切都运行良好。我今天拿起我的 MacBook,从 Github 中提取代码并运行它。

应用在 JavaScript 控制台中抛出错误:

modules-runtime.js?hash=637cb12…:139

Uncaught Error: Cannot find module '../../ui/components/signin/Signin.jsx'
    at Function.require.resolve (modules-runtime.js?hash=637cb12…:139)
    at Module.resolve (modules-runtime.js?hash=637cb12…:91)
    at Module.Mp.import (printer.js:170)
    at meteorInstall.imports.startup.client.routes.jsx (routes.jsx:1)
    at fileEvaluate (modules-runtime.js?hash=637cb12…:191)
    at Module.require (modules-runtime.js?hash=637cb12…:116)
    at Module.Mp.import (printer.js:170)
    at meteorInstall.imports.startup.client.index.js (index.js:1)
    at fileEvaluate (modules-runtime.js?hash=637cb12…:191)
    at Module.require (modules-runtime.js?hash=637cb12…:116)

我将应用程序克隆到桌面上的一个新文件夹中,我也遇到了同样的问题。我已经删除了对 Signin.jsx 模块的所有引用,但我也收到了针对其他模块的错误。

我不知道是什么原因造成的,该应用程序在我原来的开发目录中运行良好,但是一旦我将其拉入新目录,我就会在 JS 控制台中收到此错误。

我试过了:

meteor reset
meteor npm rebuild
meteor npm install
meteor update

它们都没有任何区别。非常感谢您的帮助!

编辑

当我在新目录中运行 meteor npm install 时,我收到以下可能与问题有关的错误?

> bcrypt@1.0.2 install /Users/s/Desktop/calendar/node_modules/bcrypt
> node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! Tried to download(404): https://github.com/kelektiv/node.bcrypt.js/releases/download/v1.0.2/bcrypt_lib-v1.0.2-node-v46-darwin-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for bcrypt@1.0.2 and node@4.6.2 (node-v46 ABI) (falling back to source compile with node-gyp)
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

  CXX(target) Release/obj.target/bcrypt_lib/src/blowfish.o
  CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt.o
  CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt_node.o
  SOLINK_MODULE(target) Release/bcrypt_lib.node
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9
  COPY /Users/s/Desktop/calendar/node_modules/bcrypt/lib/binding/bcrypt_lib.node
  TOUCH Release/obj.target/action_after_build.stamp

【问题讨论】:

  • 你确定大小写正确吗? `'../../ui/components/signin/Signin.jsx' 仔细检查您的 import / require 语句是否使用确切的大写字母作为实际文件。您还可以在导入该组件的位置发布一段代码吗?
  • 是的,外壳是完美的。该应用程序在我正在开发的原始目录中 100% 完美运行,只有当我将它克隆到一个新目录时它才会中断(这让我认为问题与 node_modules 文件夹有关,因为它没有被推送到github。检查我的编辑!
  • 在运行 npm install 之前,请删除 .meteor 文件夹中的本地文件夹。
  • 我想通了,谢谢你们的帮助

标签: javascript meteor npm


【解决方案1】:

Meteor Running Instance Everytime Created Folder is

./meteor/本地

请删除此文件夹。

如果您更改项目目录,请不要保留此文件夹。如果使用 git ,则在创建时初始化 git gitignore 文件已创建。这在 git push 期间删除本地文件夹。

【讨论】:

    【解决方案2】:

    我已经找出问题所在。几天前我重命名了一些文件,以将它们更改为与它们包含的 React 组件的名称完全相同。

    例如 - 我重命名了 signin.jsx -> Signin.jsx

    由于某种原因,github 没有注意到一些文件的这种变化,所以当我推送 repo 时,我的一些导入被破坏了。

    这就是为什么该应用程序在我的目录中运行良好,但在任何克隆目录中都无法正常运行的原因。

    感谢您的帮助

    【讨论】:

    • 哇,我也遇到了同样的问题!感谢您帮助我找到它的根源。我想我不会那么相信 git 能神奇地做每一件事,继续前进。
    • 很高兴有人仍在从我 4 年前的问题中学习哈哈
    猜你喜欢
    • 2018-12-01
    • 2021-11-24
    • 2015-11-22
    • 1970-01-01
    • 2022-10-25
    • 2022-08-13
    • 2021-07-07
    • 2016-07-11
    • 2016-10-24
    相关资源
    最近更新 更多