当前位置: 首页 > 面试题库 >

从根导入ES6

澹台文博
2023-03-14
问题内容

我目前正在玩React Native。我正在尝试构建我的应用程序,但是它开始变得杂乱无章。

--app/
    -- /components
        -- Loading.js
    -- index.ios.js

现在,在我的index.ios.js能力范围内,我可以轻松做到:

import Loading from './components/Loading';

但是,当我开始创建更多具有更深目录结构的组件时,它开始变得混乱:

import Loading from '.../../../../components/Loading';

我知道首选的解决方案是为事情创建私有npm模块,但这对于一个小型项目来说是过大的。

您可以global.requireRoot在浏览器上执行类型解决方案,但是如何通过导入实现呢?


问题答案:

React也有同样的问题。因此,我为babel编写了一些插件,该插件可以从根的角度导入模块-路径并不短-但是很清楚导入的内容。

所以代替:

import 'foo' from '../../../components/foo.js';

您可以使用:

import 'foo' from '~/components/foo.js';

这是插件(经过测试并带有清晰的自述文件)



 类似资料:
  • 我正在将正在运行的Vue.js应用程序转换为使用Vue cli/Webpack和导入的模块。目前,我发现有一件事相当乏味,那就是准确地指定导入的相对路径。例如,,。容易犯错误。 我假设指定一个基目录或根目录并从中指定绝对路径必须足够简单,但我看不出在哪里可以这样做。例如,在标准的vue cli网页包设置中,我正在处理的代码都在“src”目录中,其中有“components”、“mixin”等。如果

  • 我的代码如下(我怀疑你会需要这一切,但我已经提供了一切): 我通过运行以下命令验证了我确实有一个正常运行的安装: 它抛出了一个错误: 我尝试用标准的解释器以及运行它,但没有成功。

  • 问题内容: 我注意到可以这样导入: …或像这样: 第一个导入模块中的所有内容(请参阅:导入整个模块的内容) 第二个仅导入模块导出(请参阅:导入默认值) 似乎这两种方法是不同的,并且根本上是不兼容的。 为什么它们都起作用? 请参考源代码并解释该机制…我有兴趣了解其工作原理。 ES6常规模块信息回答了该问题。 我在问使模块像这样工作的机制。在这里,它似乎与源代码中的 “ hacky”导出机制有关,但尚

  • 问题内容: 我应该使用 要么 当 导入模块 ,并和有 改变名字没有必要/愿望 ()? 有什么区别吗?有关系吗? 问题答案: 假设是中的模块或包,没有区别*,那就没关系。这两个语句具有完全相同的结果: 如果不是模块或软件包,则第二种形式将不起作用;引发回溯: *在Python 3.6及更高版本中,包含其他模块的软件包的初始化顺序存在一个错误,即在软件包 的加载阶段,在子模块中使用 该软件包 会失败,

  • 我正在使用IntelliJ 2016,我成功添加了一些Maven依赖项(用于ImageJ插件开发),这两个外部库以jar文件的形式显示。我已经在项目结构中添加了它们- 其中一个正在成功导入,而另一个没有。有效的在jar的子文件夹中 导入fiji.threshold.Auto_Local_Threshold 另一个就在罐子下面,当我尝试时,名字无法识别: 导入MultipleKymograph_ 我

  • 问题内容: 我正在尝试使用scikit Learn软件包中的svm函数进行python处理,但出现错误消息: ImportError:无法导入名称“ check_arrays” 我正在使用python 3.4。谁能给我建议?提前致谢。 问题答案: 将此方法从0.16中删除,替换为(非常不同)的函数。您可能会收到此错误,因为您没有从0.15正确升级到0.16。[或者因为您在sklearn中依赖的不是