Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.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
Javascript 从目录导入Web包组件_Javascript_Reactjs_Webpack_Create React App_Javascript Import - Fatal编程技术网

Javascript 从目录导入Web包组件

Javascript 从目录导入Web包组件,javascript,reactjs,webpack,create-react-app,javascript-import,Javascript,Reactjs,Webpack,Create React App,Javascript Import,我有个问题。我用create react应用程序制作了我的项目,我认为这基本上是我的结构: src ├── app │   ├── index.js │   └── … ├── navigation │ ├── index.js │ └── … └── … 我的应用程序/index.js import App from 'app/App'; export default { App }; 我的导航/index.js: import Navigation from 'naviga

我有个问题。我用create react应用程序制作了我的项目,我认为这基本上是我的结构:

src
├── app
│   ├── index.js
│   └── …
├── navigation
│   ├── index.js
│   └── …
└── …
我的应用程序/index.js

import App from 'app/App';

export default {
  App
};
我的导航/index.js:

import Navigation from 'navigation/Navigation';

export default {
  Navigation
};
问题是我可以很容易地从以下目录导入:

import { App } from './app';
import { Navigation } from '.navigation';
问题是导入导航功能按预期工作,而导入应用程序则不起作用。当我像上面那样导入应用程序时,我得到的“应用程序”不包含名为“应用程序”的导出,如果我尝试这样导入它:

import App from './app';

我得到一个像{App:function{}}这样的对象,如果我像预期的那样渲染它,它就会正常工作。唯一的区别是,应用程序是类组件,导航是函数组件。

问题在于,您是通过一种奇怪的类似对象的语法导出的:

export default {
  Navigation
}
你需要:

导出默认导航

编辑:使用更好的格式将我的评论粘贴到下面

即使是可选的,也只能有一个默认导出,但总数没有限制。你可以有:

// exports.js
export const a = 1
export const b = 2
export function exportTest () {}
// then a default
export default a 
但是-仅使用括号语法导入非默认值,假设您要导入b,这是一个非默认值导出,您需要使用:

import { b } from 'exports' 
// or:
import { b as localName } from 'exports'
虽然可以导入不带括号的默认值并为其命名:

import whatever from 'exports'
console.log(whatever) // prints 1, as const a = 1 in exports.js

有关更多信息,请参阅…

如果文件中有单个导入,则可以使用:

export default FileName
export { FileName1, FileName2}
export {default as FileName1, FileName2}
如果有多个导入,则可以使用:

export default FileName
export { FileName1, FileName2}
export {default as FileName1, FileName2}
如果要从导出的多个文件中导出某些文件作为默认文件,可以使用:

export default FileName
export { FileName1, FileName2}
export {default as FileName1, FileName2}

如果我想导出多个组件呢?即使是可选的,也只能有一个默认导出,但总数没有限制。您可以有:`//exports.js export const a=1 export const b=2 export function exportTest{}//,然后默认的导出默认值a`但是-使用括号语法导入非默认值,假设您要导入非默认导出的b:`import{b}从“exports”//虽然您可以在不带括号的情况下导入:从“exports”控制台导入任何内容。logwhater//prints 1`有关详细信息,请参阅。。。