如何在javascript中导入多个内容
我想在js中导入多个东西,我已经尝试了如何在javascript中导入多个内容,javascript,redux,babeljs,redux-observable,Javascript,Redux,Babeljs,Redux Observable,我想在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) 我发现当我记录应用程序时,
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)
我发现当我记录应用程序时,我得到了一个包含foo和bar的对象,但当我记录…应用程序时,我什么也没有得到
我现在正在使用巴别塔预设环境和反应。我该如何解决这个问题
顺便说一句,combineEpics只接受epics,如fooEpics
,因此我不能像这样调用此函数:
import * as App from './AppEpics'
export default combineEpics(App) // that will not work.
从导入中删除“作为应用程序”:
import * from './App'
它应该可以工作。在您的情况下,应用程序
是一个对象,您尝试将其作为函数组合函数(…应用程序)
的参数进行传播,该函数只有在应用程序是数组时才起作用
如果要将所有导出的值传递到combineEpics
中,则需要执行smth操作,如combineEpics(…Object.values(App))
或在App.js中添加导出默认值[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'
为什么不使用import{foo,bar}from./App'
?App是单个对象,而不是集合。spread操作符被搞糊涂了。应该是combinepics(App)
combinepics()函数访问App.foo
和App.bar
,因为我会导入很多东西,这会犯很多错误。@RandyCasburn实际上,我现在正在使用redux observable,combinepics是redux observable的函数。这样我就不能修改组合电路了。当然。抱歉。我可以使用此插件传播rest属性:。为什么我不能扩展一个对象的全部属性?你当然可以,但只能扩展到另一个对象中,例如f={…App}
而不是像在combineEpics(…App)
中那样扩展到函数调用中,这只适用于数组。但是我如何才能将所有这些foobar添加到combineEpics中呢。看来我还是要手动一个一个的添加。