Javascript ReactJS:模块解析失败'/index.js';您可能需要适当的加载程序来处理此文件类型

Javascript ReactJS:模块解析失败'/index.js';您可能需要适当的加载程序来处理此文件类型,javascript,reactjs,Javascript,Reactjs,我更改从create react app生成的默认index.js文件位置 这是我的目录结构:- |--main-project |--client |--components |--pages |--public |--App.js |--index.js |--mode_modules |--server |--package.json | |-- /react small files like

我更改从
create react app
生成的默认index.js文件位置

这是我的目录结构:-

|--main-project
   |--client
      |--components
      |--pages
      |--public
      |--App.js
      |--index.js
   |--mode_modules
   |--server
   |--package.json
   |
   |-- /react small files like package-lock.json and stuff
我在node_module/react scripts/config中对应的path.js配置

module.exports = {
  dotenv: resolveApp('.env'),
  appPath: resolveApp('.'),
  appBuild: resolveApp('build'),
  appPublic: resolveApp('public'),
  appHtml: resolveApp('client/public/index.html'),
  appIndexJs: resolveApp('client/index.js'),
  appPackageJson: resolveApp('package.json'),
  appSrc: resolveApp('src'),
  yarnLockFile: resolveApp('yarn.lock'),
  testsSetup: resolveApp('src/setupTests.js'),
  appNodeModules: resolveApp('node_modules'),
  publicUrl: getPublicUrl(resolveApp('package.json')),
  servedPath: getServedPath(resolveApp('package.json')),
// These properties only exist before ejecting:
 ownPath: resolveOwn('.'),
 ownNodeModules: resolveOwn('node_modules'), // This is empty on npm 3
};
我已经更改了appHtml和appIndexJS路径


如何告诉默认jsx加载程序查看这些文件?

appSrc:resolveApp('src')
更改为
appSrc:resolveApp('client')

一切都会好起来的


不必使用默认文件结构,您可以按照上面的讨论对其进行配置。

您是否使用
npm run eject
来运行react脚本eject来弹出应用程序?您应该考虑弹出并编辑新创建的主项目/CONFIG/PACS.JS,而不是编辑节点模块的PATS.JS,不要用默认的CREATEPROP应用程序配置,否则您将陷入一个痛苦的世界。弹出不是此问题的解决方案。最简单的解决方案是将该文件放回原处,并重新构造应用程序的调用方式。显然,在我看来:)@FinbarrO'B问题在于默认的“.jsx”读取器没有读取我新重新定位的文件。执行
npm run eject
,然后在相应的
模块上更改路径。exports
功能是否有效?@Andy没有理解您的意思?IMO??我认为IMO是。您需要理解弹出是不可逆的,并且您将从项目中删除单构建依赖项。对于这样一件小事,我们不能掉以轻心。