Javascript 从目录导入Web包组件
我有个问题。我用create react应用程序制作了我的项目,我认为这基本上是我的结构: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
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`有关详细信息,请参阅。。。