npm - 是否可以使用 webpack 分别导入捆绑的 webpack 和库?
问题描述
我正在尝试构建一个使用 d3 的模块,但我不想将 d3 与该模块捆绑在一起,而且至关重要的是,我不想将 d3 绑定到窗口。该模块将安装在另一个项目中,npm 作为 git 依赖项。在模块上我有一个这样的设置:
output: {
path: path.resolve(__dirname, '../dist'),
filename: '[name].min.js',
libraryTarget: 'umd',
umdNamedDefine: true
},
externals: [
{
"d3": {
root: "d3"
}
}
]
在项目中它被安装到我想要这样的东西:
import d3 from 'd3'
import example from 'example'
但是,只有当我也这样做时才有效:
import d3 from 'd3'
window.d3=d3
import example from 'example'
是否可以在不触及全局范围的情况下使用这两个模块?
解决方案
尝试改变
externals: [
{
"d3": {
root: "d3"
}
}
]
至
externals: [
{
"d3": {
commonjs: "d3"
}
}
]
在文档中描述。通过设置为root
,库应该可以作为全局变量使用
推荐阅读
- intellij-idea - IntelliJ 插件 - 通过代码修改运行配置属性
- github - git clone 中的周期性速度增加
- python - 如何在 Pandas 中扩展和创建以下数据集
- google-colaboratory - Google Colab - 每次编辑库时是否需要重新启动运行时?
- amazon-web-services - 如何在 Redshift 中批量更新设置值?
- react-native - 为 React Native 设置包 ID 和包名称
- kotlin - 如何使用 KotlinJS 解压缩文件
- php - 将图像从 React Native 发送到 PHP Symfony 服务器
- azure - Spring Batch:Azure SQL 性能不一致
- python - Python双打印功能,我不明白这个例子是如何工作的