如何在 javascript 中导入多个内容

How to import multiple things in javascript

我想在 js 中导入多个东西,我试过 import * 这样的:

导出文件AppEpics.js:

export fooEpic = Observable.of() // some fancy code;
export barEpic = Observable.of() // some other fancy code;

导入文件:

import * as App from './AppEpics'
export default combineEpics(...App)

我发现当我记录 App 时,我得到一个包含 foo 和 bar 的 object,但是当我记录 ...App 时,我什么也得不到。

我正在使用 babel 预设环境并暂时做出反应。我该如何解决?

顺便说一句,combineEpics 只接受像 fooEpics 这样的 epics,所以我不能这样调用这个函数:

import * as App from './AppEpics'
export default combineEpics(App) // that will not work.

从导入中删除 "as App":

import * from './App'

应该可以。

App 在您的案例中是对象,您尝试将其作为函数 combineEpics(...App) 的参数传播,这仅在 App 为数组时才有效。

如果您想将所有导出的值传递给 combineEpics,您需要像 combineEpics(...Object.values(App)) 那样做,或者在 App.js 和 import App from './App' and combineEpics(...App) 中添加 export default [foo, bar]在文件中。

如果您想一次性全部导入,您也可以使用

import * from './yourName'

如果您想将特定组件导入文件

import { Comp1, Comp2, Comp3 } from './yourName'

需要导出您的组件。您也可以立即执行此操作。为此,我在 package.json.

中添加了对文件 (index.js) 的默认引用
  "name": "yourName",
  "version": "1.0.0",
  "main": "index.js",

在 index.js 中,我添加了导出。

 export { default as Comp1 } from './yourPath/comp1'