首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果没有用“*”导入依赖项,如何将其标记为WebPack中的外部依赖项?

如果没有用“*”导入依赖项,如何将其标记为WebPack中的外部依赖项?
EN

Stack Overflow用户
提问于 2018-12-06 22:29:55
回答 3查看 3.4K关注 0票数 4

如何在Webpack中将office-ui-fabric指定为外部依赖项?

我正在导入依赖项,如下所示,在我的TypeScript项目(注意:,我只是导入我需要的模块)-

代码语言:javascript
复制
import { Dialog, DialogType, DialogFooter } from 'office-ui-fabric-react/lib/Dialog';
import { PrimaryButton, DefaultButton } from 'office-ui-fabric-react/lib/Button';

webpack.config.js中当前的外部配置,它适用于ReactDOM &ReactDOM,但不适用于Fabric。

代码语言:javascript
复制
   externals: {
        "react": "React",
        "react-dom": "ReactDOM",
        "office-ui-fabric-react": "office-ui-fabric-react"
    }

当我只导入选择性模块时,是否需要以不同的方式指定它?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-12-08 10:25:18

webpack的externals字段工作如下:如果将office-ui-fabric-react指定为外部,则只有导入到office-ui-fabric-react才会被标记为外部。

在您的例子中,您正在进行深度导入(为什么?)因此,对于office-ui-fabric-react/lib/Dialog,不匹配office-ui-fabric-react,因此不认为它是外部的。

你有两个选择:

  1. 将每个深层导入定义为外部导入,您可以使用外部函数语法
  2. 使用import {Dialog} from 'office-ui-fabric-react'

示例:

这种进口的使用

代码语言:javascript
复制
import get from 'lodash/get';

会要求你把lodash/get添加到外部,通过寄存是很容易的,

代码语言:javascript
复制
...
externals: {
   'lodash/get': '_.get'    
}
...

通常,把内部的东西作为外部的东西并不是一个好的做法。

票数 2
EN

Stack Overflow用户

发布于 2018-12-12 01:02:49

张贴外部人员如何看待应用@felixmosh的建议,这为我解决了这个问题。现在,没有一个office-ui-fabric反应组件被添加到最终的JS文件中。

代码语言:javascript
复制
externals: {
   "react": "React",
   "react-dom": "ReactDOM",
   'office-ui-fabric-react/lib/Dialog': '_.Dialog, _.DialogType, _.DialogFooter',
   'office-ui-fabric-react/lib/Button': '_.PrimaryButton, _.DefaultButton'
}
票数 1
EN

Stack Overflow用户

发布于 2019-12-07 08:38:50

Webpack-外部导入将允许您在不失去独立功能的情况下动态地管理外部环境。https://itnext.io/micro-frontend-architecture-dynamic-import-chunks-from-another-webpack-bundle-at-runtime-1132d8cb6051

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53660681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档