导入的双重**是什么?

时间:2018-02-01 10:54:26

标签: javascript reactjs

我克隆了this library,在这个库中他们正在使用带有双astrix的导入,如下所示:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="result">
  2.3
</div>

任何人都可以解释这个import * as Areas from './areas/**/planner-element.jsx'; 是什么以及它有什么作用?

4 个答案:

答案 0 :(得分:4)

它是一种递归识别文件夹和子文件夹的模式。

例如,如果他们有像

这样的东西
areas/foo/planner-element.jsx
areas/foo/bar/planner-element.jsx

它将识别它们。它就像一个更松散的符号,所以它在那个文件的位置并不重要,只是它在areas下的某个地方

答案 1 :(得分:0)

./lines/**/planner-element.jsx转换为lines目录下任意目录中的文件planner-element.jsx。 单个星号转换为第一个/的任何字符(因此./lines/*.jsx将包含lines目录中的所有jsx文件)。 双星号转换为任何字符,这意味着不仅要考虑文件名,还要考虑目录(因此./lines/**/planner-element.jsx将包含任何名为planner-element.jsx的文件。在目录下面的目录)

答案 2 :(得分:0)

\**\此模式用于递归文件夹树遍历。

查看this SO answer

答案 3 :(得分:-1)

**表示文件夹中路径中的任何文件夹名称,也可以是多个子文件夹。