Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.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
Node.js 流量+;“网络风暴”;无法解析模块";_Node.js_Reactjs_Types - Fatal编程技术网

Node.js 流量+;“网络风暴”;无法解析模块";

Node.js 流量+;“网络风暴”;无法解析模块";,node.js,reactjs,types,Node.js,Reactjs,Types,我有一个现有的项目,我们将Flow的类型系统集成到react端。该项目是以电子为基础的,因此,根据定义,是单一回购。为了识别导入语句,我们遇到了各种各样的问题 节点_模块导入将失败: import _ from 'lodash'; // Flow: Cannot resolve module lodash 更重要的是,我们需要相对于项目的绝对路径: import {MyComponent} from 'src/component/myComponent'; // Flow: Cannot r

我有一个现有的项目,我们将Flow的类型系统集成到react端。该项目是以电子为基础的,因此,根据定义,是单一回购。为了识别导入语句,我们遇到了各种各样的问题

节点_模块导入将失败:

import _ from 'lodash'; // Flow: Cannot resolve module lodash
更重要的是,我们需要相对于项目的绝对路径:

import {MyComponent} from 'src/component/myComponent'; 
// Flow: Cannot resolve module src...
找到一个解决方案需要一点挖掘,而且文档在某些方面有点缺乏,所以我想列出一个编译后的列表,列出实际工作的内容。

TL;博士 在webstorm上设置流,这样它会给您模块错误

全局设置flow,将webstorm的js设置指向flow,并将其指向flow bin的全局副本(甚至不是exe,只是dir)

将以下选项添加到.flowconfig:

[options]
module.name_mapper='^src\/\(.*\)$' -> '<PROJECT_ROOT>/src/\1'
module.system=haste
再次检查它是否为您提供了当前版本的flow bin 拒绝在0.75.0或更早版本上工作

设置Webstorm的流可执行文件
  • 在Webstorm上:文件>设置>语言和框架>Javascript
  • 选择Flow作为JavaScript语言版本
  • 查找包管理器(纱线或npm)存储全局文件的位置
在Windows+Thread上,这是C:/Users/[您的用户名]/AppData/Local/thread/Cache/v1

在Windows+NPM上,这是C:/Users/fish/AppData/Roaming/NPM/node\u模块

这使我的流程:

C:/Users/[your username]/AppData/Local/Yarn/Cache/v1/npm-flow-bin-[whatever]/ 
  • 在Webstorm的JavaScript设置中,将流包或可执行文件指向我们刚刚找到的全局流路径
  • 申请,好吗
设置流的.flowconfig .flowconfig设置旁注
  • 我有一个根git项目,包含两个部分:react和electron。Flow根据您放置.flowconfig文件的位置进行操作
  • 如果它包含“all=true”,请删除该行并将/@Flow添加到您希望Flow检查的文件中(否则它将开始索引所有节点_模块)
重现我的问题
  • 将.flowconfig放在您的react目录中
  • 享受所有“流程:无法导入模块”的曲折命运线
模块问题的解决方案 这是我当前的.flowconfig

[ignore]
.*/build/.*

[include]

[libs]

[lints]

[options]
module.name_mapper='^src\/\(.*\)$' -> '<PROJECT_ROOT>/src/\1'
module.system=haste

[strict]

haste模块系统步骤很重要,因为否则它不知道“lodash”的意思是“/node\u modules/lodash”。告诉它使用haste意味着它会正确地找到您的导入语句。

您确定在这里使用haste是个好主意吗?从外观上看,我一直认为它仍然存在于流中是出于遗留原因,为了获得lodash和其他库的正确类型,我建议在类型化的流上使用Correct,但这不是我正在解决的问题。我的问题是代码文件中的模块导入行中断,因为流不知道在哪里查找,而不是断开的类型定义。规范的resolve\u dirname不能解决导入问题。
[ignore]
.*/build/.*

[include]

[libs]

[lints]

[options]
module.name_mapper='^src\/\(.*\)$' -> '<PROJECT_ROOT>/src/\1'
module.system=haste

[strict]
module.name_mapper='^src\/\(.*\)$' -> '<PROJECT_ROOT>/src/\1'
module.system=haste