Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.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 如何正确导出模块,以便vscode可以在建议[ctrl+;空格]中显示我的模块?_Reactjs_Visual Studio Code_Intellisense - Fatal编程技术网

Reactjs 如何正确导出模块,以便vscode可以在建议[ctrl+;空格]中显示我的模块?

Reactjs 如何正确导出模块,以便vscode可以在建议[ctrl+;空格]中显示我的模块?,reactjs,visual-studio-code,intellisense,Reactjs,Visual Studio Code,Intellisense,我有一个设置样式文件,如: GlobalStyles.js export const GlobalStyles={ ViewContainer:{flex:1, justifyContent:'center', alignItems:'center'}, Center:{justifyContent:'center', alignItems:'center'}, FontNormal:15, FontMedium:18, FontLarge:28, FontHeader:

我有一个设置样式文件,如:

GlobalStyles.js

export const GlobalStyles={
  ViewContainer:{flex:1, justifyContent:'center', alignItems:'center'},
  Center:{justifyContent:'center', alignItems:'center'},
  FontNormal:15,
  FontMedium:18,
  FontLarge:28,
  FontHeader:38
}

module.export={GlobalStyles}
当我在另一个JS文件中使用它时,比如说
Home.JS
。我想知道我定义的每个
Key:Value

GlobalStyles.js
vscode中导出的代码建议如下导入样式:

import { GlobalStyles } from '../Component/GlobalStyles';
我的预期结果是:

import { ViewContainer, Center, FontMedium, [and so on]} from '../Component/GlobalStyles';

当我键入foo时,如何让vscode建议我自动从path/to/GlobalStyles导入foo?其中
foo
类似于
ViewContainer、Center、fontmedia,[等等]

您所说的功能被调用。要回答您的问题,此功能在VSCode中存在并默认工作

下面是我在React项目中如何使用它的示例。在这里,我在一个同名文件夹中有一个组件。在该文件夹之外是一个名为ModuleExports.js的文件,它当前有以下代码

import Navbar from "./Navbar/Navbar";

export { Navbar };
作为参考,export是module.export的别名,因此可以随意互换使用它们。这是一个组件,所以当我尝试使用它时,您可以从屏幕截图中看到我建议使用的导入

不作为组件也可以做到这一点。我将在同一个文件ModuleExports.js中声明一个testObject并将其导出

那么让我们看看intellisense是否会接收到它


就在那里。我希望这会有所帮助,并询问您是否需要更多澄清或遇到问题

在这种情况下,错误似乎是使用动态导出。那是老式的。VSCode使用typescript工具进行静态分析。要利用这一点,您必须使用

CommonJs:
module.export={GlobalStyles}

导出全局样式

两者之间的显著区别在于CommonJs变量只是在运行时定义的变量。如果不执行代码,就无法知道您正在导出什么。ES6
export
是保留字。它的构造在定义后不能更改,也就是说,它的类型定义可以在不实际执行代码的情况下找到


Typescript、Babel等提供了两个模块系统之间的互操作性,但根据规范,它们是两个截然不同的东西。

有什么对象与您正在键入的关键字
foo
匹配?@ifconfig all key:GlobalStyles内部的值,如Center、FontMedium、,ETC我是否应该更改GlobalStyles中的所有对象,将它们逐个分离并定义导出?还是有更简单的解决办法?在您的示例中,我希望
Name and Test
显示在
Auto Import
中,而不是
testObject
中,因此如果您想从GlobalStyles访问FontNormal,您可以开始键入GlobalStyles,您会得到自动导入建议,然后添加.FontNormal作为典型的对象访问。该对象是GlobalStyles,FontNormal是该对象内部的一个键。基本上,您不会像我的示例中那样导出/导入名称和测试。您可以使用testObject.Name导出/导入testObject和访问Name。那么
react native
如何使用
import{View,Text,Stylesheets,[etc]}从'react native'
导入,
视图
使用括号符号?您可以使用“自动导入”查看所有可用组件。我认为当我需要使用括号符号导入我的
key:value
时,类似于
import{FontNormal}从'path/to/GlobalStyles.js'
开始,使用
FontNormal
而不是
从'path/to/GlobalStyles.js'
导入GlobalStyles,然后使用
GlobalStyles.FontNormal
或者将它们组合起来,比如
导入GlobalStyles,{FontNormal}从'path/to/GlobalStyles.js'
导入GlobalStyles,并有条件地使用它