webpack 加载自定义模块和 node_modules 模块有何区别?

问答 蓝天 ⋅ 于 2019-05-23 15:51:58 ⋅ 最后回复由 青牛 2019-05-24 17:47:10 ⋅ 2323 阅读

(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('d3-selection'), require('d3-transition')) :
typeof define === 'function' && define.amd ? define(['exports', 'd3-selection', 'd3-transition'], factory) :
(factory((global.venn = {}),global.d3,global.d3));
}(this, (function (exports,d3Selection,d3Transition) {}) )
);
小弟最近用到了一个npm库venn.js,大致结构如上,是d3的一个插件。import 二连引入也算相安无事。

import d3 from 'd3'
import * as venn from 'venn.js';
但是因为某个需求我想着也就一个js简单就copy出了这个node_modules底下安装好的模块文件夹,并改了几段代码,同样import二连,但是却莫名报错了

import d3 from 'd3'
import * as venn from '../../plugins/venn.js/build/venn.js';

以下为webpack编译结果截图,他们到底打包为何有区别呐?
file
file

成为第一个点赞的人吧 :bowtie:
回复数量: 1
  • 青牛 海汼部落创始人,80后程序员一枚,曾就职于金山,喜欢倒腾技术做产品
    2019-05-24 17:47:10

    不懂js 希望会的同学来解答解答

暂无评论~~
  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
Ctrl+Enter