Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 创建react应用程序can';t分解模块_Reactjs_Webpack_Es6 Modules - Fatal编程技术网

Reactjs 创建react应用程序can';t分解模块

Reactjs 创建react应用程序can';t分解模块,reactjs,webpack,es6-modules,Reactjs,Webpack,Es6 Modules,我正在升级一个旧的react应用程序,以使用最新和最好的,但我似乎不明白为什么几乎所有的模块都无法解析 似乎在某个时候,您可以简单地指向导入中的文件夹,但现在它不再解析 在我的网页中,我相信我的设置是正确的。有人知道导入后发生了什么变化吗 解析:{ //这允许您为Webpack应该查找模块的位置设置回退。 //我们之所以将这些路径放在第二位,是因为我们希望'node_modules'能够“获胜” //如果存在任何冲突。这与节点解决机制匹配。 // https://github.com/fac

我正在升级一个旧的react应用程序,以使用最新和最好的,但我似乎不明白为什么几乎所有的模块都无法解析

似乎在某个时候,您可以简单地指向导入中的文件夹,但现在它不再解析

在我的网页中,我相信我的设置是正确的。有人知道导入后发生了什么变化吗

解析:{
//这允许您为Webpack应该查找模块的位置设置回退。
//我们之所以将这些路径放在第二位,是因为我们希望'node_modules'能够“获胜”
//如果存在任何冲突。这与节点解决机制匹配。
// https://github.com/facebookincubator/create-react-app/issues/253
模块:[“节点\模块”,路径.appNodeModules].concat(
//它保证存在,因为我们在'env.js中对它进行了调整`
process.env.NODE_PATH.split(PATH.delimiter).filter(布尔),
解析(uu dirname,“src”)
),
//这些是节点生态系统支持的合理默认值。
//我们还包括JSX作为通用组件文件扩展名,以支持
//尽管我们不建议使用某些工具,但请参见:
// https://github.com/facebookincubator/create-react-app/issues/290
//添加了'web'扩展前缀以获得更好的支持
//对于本地Web。
扩展:[
“.web.js”,
“.mjs”,
“.js”,
“.json”,
“.web.jsx”,
“.jsx”,
“.scss”,
“.css”,
“.json”

]
问题是路径。resolve(\uu dirname,“src”)似乎没有解决我所认为的问题

const-appDirectory=fs.realpathSync(process.cwd());
const resolveApp=relativePath=>path.resolve(appDirectory,relativePath);
module.exports={
dotenv:resolveApp('.env'),
appBuild:resolveApp('build'),
appPublic:resolveApp('public'),
appHtml:resolveApp('public/index.html'),
appIndexJs:resolveApp('src/main.jsx'),
appPackageJson:resolveApp('package.json'),
appSrc:resolveApp('src'),
yarnLockFile:resolveApp('warn.lock'),
testsSetup:resolveApp('src/setupTests.js'),
appNodeModules:resolveApp('node_modules'),
publicUrl:getPublicUrl(resolveApp('package.json')),
servedPath:getServedPath(resolveApp('package.json'),
};
模块:[“节点\模块”,路径.appNodeModules].concat(
//它保证存在,因为我们在'env.js中对它进行了调整`
process.env.NODE_PATH.split(PATH.delimiter).filter(布尔),
path.appSrc
),
//这些是节点生态系统支持的合理默认值。
//我们还包括JSX作为通用组件文件扩展名,以支持
//尽管我们不建议使用某些工具,但请参见:
// https://github.com/facebookincubator/create-react-app/issues/290
//添加了'web'扩展前缀以获得更好的支持
//对于本地Web。
扩展:[
“.web.js”,
“.mjs”,
“.js”,
“.json”,
“.web.jsx”,
“.jsx”,
“.scss”,
“.css”,
“.json”

]
我明白了。请提供可以复制问题的选项。这可能是任何问题。导入没有单一责任点,特别是因为它是您的自定义网页配置。请将其更改为
src/common/eventemitter/…
或使用当前文件的相对路径,如
。/../eventemitter/…
导入事件“../../eventemitter”中的mitter可以工作,但既然我添加了我的src目录来解析:我是否可以像使用节点模块一样使用它?我是否需要在解析中将它别名为类似internal的东西,然后从“internal/common/eventemitter”导入eventemitter OK,尝试更改
path.resolve(u dirname,“src”)
path.resolve(\uu dirname,“./src”)
。或者尝试path.join而不是path.resolve。@Kartik没有区别,