【问题标题】:Babel/webpack dependenciesBabel/webpack 依赖
【发布时间】:2016-12-07 15:06:20
【问题描述】:

我有一个私有库,已转换为使用 es6 和 webpack。如何以可以导入整个源代码树的方式包含此库?

库如下所示:

移植库

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 对于库导入,我导入一个文件:import moment from 'moment'

如何从portedlibrary 导入个别类?

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

【问题讨论】:

  • 你可以import Class1 from 'portedlib/src/dir1/Class1';,是你要找的吗?
  • @loganfsmyth,这也行!我会把它作为一个 snwer 发布。

标签: javascript npm webpack ecmascript-6 babeljs


【解决方案1】:

将每个默认导出重新导出为另一个文件中的命名导出(例如 index.js,以便您可以通过其名称引用库):

// 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'

【讨论】:

  • 是否有工具可以从源代码树手动创建此全局导出?还是我只需要手动枚举所有导出?
猜你喜欢
  • 1970-01-01
  • 2020-05-17
  • 2017-04-23
  • 2019-07-07
  • 2022-01-16
  • 1970-01-01
  • 2014-12-14
  • 2019-08-07
  • 2020-12-19
相关资源
最近更新 更多