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是。您需要理解弹出是不可逆的,并且您将从项目中删除单构建依赖项。对于这样一件小事,我们不能掉以轻心。