2016-12-07 78 views
1

我有一个私人图书馆已经转换为使用es6和webpack。如何以可导入整个源代码树的方式包含此库?Babel/webpack依赖关系

库看起来是这样的:

portedlibrary

src/dir1/Class1.js 
src/dir1/Class2.js 

而且我的应用程序是这样的:

应用

src/app.js 
src/app2.js 
node_modules/portedlib/src/dir1/Class1.js 
node_modules/portedlib/src/dir1/Class2.js 

对于内部进口,我可以使用相对路径功能:import {app2} from './app2 F或库导入,我导入一个文件:import moment from 'moment'

如何从portedlibrary导入单个类?

当我尝试通过import {Class1} from 'portedlib'我收到以下错误导入类: Module not found: Error: Can't resolve 'portedlibrary' in ...

+1

你可以从'“portedlib/src目录/ d进口的Class1 ir1/Class1';',你在找什么? – loganfsmyth

+0

@loganfsmyth,那也行!我会把它作为snwer发布。 –

回答

1

转口每个默认出口作为一个名叫出口在另一个文件(例如:index.js这样你就可以通过引用的lib它的名字):

// node_modules/portedlib/index.js 
export { default as Class1 } from './src/dir1/Class1' 
export { default as Class2 } from './src/dir1/Class2' 

然后将它们导入:

import { Class1, Class2 } from 'portedlib' 
+0

是否有工具可以从源代码树手动创建此全局导出?或者我只需要手动枚举所有导出? –