最近在用webpack做一些是sdk相关的东西,有几个概念总结一下:

1、library
要做sdk,一定要做的一个配置,用于说明最终的SDK暴露给调用者的一个名称
例如:library: 'HelloJS',
外部调用的时候,就是HelloJS.method,import {**} from HelloJS,又或者是let a = require('HelloJS')

2、libraryTarget
是表示打包出去之后支持外部以一种什么样方式引入,global全局?commomJS的require还是ES6的模块化improt * from HelloJS

一般情况下,我配置libraryTarget: 'umd',就是上面三种都支持,没问题,这样就对了

3、externals
表示很多时候我们用了第三方库,但是又不想让webpack将它打包到项目种,避免项目太大。这样就可以通过配置externals
例如,我现在又一个demo,需要引入HelloJS,然后我在demo工程里配置
externals{

HelloJS: ‘HelloJS’

}
此时demo代码中可以写import * from 'HelloJS',是可以在浏览器被执行的,虽然最后webpack并没有将HelloJS打包到demo中,但是index.hmtl需要引用HelloJS,也就是说最终的index文件引入了webpack本身打包的bundle.js加上HelloJS

webpack里的externals的更多相关文章

  1. webpack里的module选项配置

    webpack里的module 有loaders选项和noParse选项,noParse选项配置不需要解析的目录和文件 module:{ loaders:[], noParse: [ path.joi ...

  2. webpack之深入浅出externals

    我们通常在做项目时可能会把第三方库打包到bundle中,比如下面这张图 如果不想把第三方库打包到bundle中,这就有了externals.官方的使用externals比较简单,只需三步-- 1.在H ...

  3. 在webpack里使用jquery.mCustomScrollbar插件

    malihu-custom-scrollbar-plugin是一个依赖jquery的自定义网页滚动条样式插件 网站:http://manos.malihu.gr/jquery-custom-conte ...

  4. 单步调试理解webpack里通过require加载nodejs原生模块实现原理

    在webpack和nodejs里,我们经常使用require函数加载原生模块或者开发人员自定义的模块. 原生模块的加载,比如: const path = require("path" ...

  5. webpack 里的 import, exports 实现原理

    在使用 webpack 对脚本进行打包, 在开发中, 每个文件中都会使用 import 语句来导入一些功能,又会使用 export 语句导出一些功能,为了研究 import 和 export 原理,研 ...

  6. webpack里CommonJS的require与ES6 的module.exports加载模块有何不同

    只需明白commonjs的规则即可,import会被转化为commonjs格式的,babel默认会把ES6的模块转化为commonjs规范的. import vue from 'vue'; //等价于 ...

  7. webpack——devtool里的7种SourceMap模式

    我们先来看看文档对这 7 种模式的解释: 模式 解释 eval 每个module会封装到 eval 里包裹起来执行,并且会在末尾追加注释 //@ sourceURL. source-map 生成一个S ...

  8. [webpack] devtool里的7种SourceMap[转]

    modle: development cheap-source-map debug 不太方便,不是以原来的文件的形式cheap-module-source-map 可以 debugcheap-modu ...

  9. webpack入门——webpack的安装与使用

    一.简介 1.什么是webpack webpack是近期最火的一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX).coffee.样式(含less/sass).图片等都作为模块来使用和处理. ...

随机推荐

  1. android studio 通过界面快速查看md5

    https://www.jianshu.com/p/989c0be557f0

  2. PAT甲级——1025 PAT Ranking

    1025 PAT Ranking Programming Ability Test (PAT) is organized by the College of Computer Science and ...

  3. Docker系列三:Dockerfile

    Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像 Dockerfile由一行行命令语句组成,支持#开头的注释 Dockerfile分为四部分:基础镜像信 ...

  4. linux系统用户管理(二)

    5.组命令管理**组账户信息保存在/etc/group和/etc/gshadow两个文件中 /etc/group 组账户信息 [root@localhost ~]# head -2 /etc/grou ...

  5. 微信公众平台开发2-access_token获取及应用(含源码)

    微信公众平台开发-access_token获取及应用(含源码) 很多系统中都有access_token参数,对于微信公众平台的access_token参数,微信服务器判断该公众平台所拥有的权限,允许或 ...

  6. set|lambda|reduce

    #!/usr/bin/python a=set([i for i in range(4,8)]) b=set([i for i in range(5,12)]) c= sorted(a & b ...

  7. Yii框架的学习指南(策码秀才篇)1-2 一步步学习yii framework

    我也是新手,不过之前学习了tp和ci框架,所以尝鲜想看看yii到底有多强大. 如何新建一个webapp(网站应用)呢,下面是2个步骤: 1. cmd 切换到htdocs下面的yii目录下的framew ...

  8. K3CLOUD表关联

    销售订单关联发货通知单 销售订单表 T_SAL_ORDER A T_SAL_ORDERENTRY B T_SAL_ORDERENTRY_LK C 发货通知单表 T_SAL_DELIVERYNOTICE ...

  9. 规范化开发和time相关模块

    1. 规范化开发 如果在开发的过程中将所有的程序放在一个py文件中,加载时会很慢,同时降低了代码的可读性,查询起来也麻烦 所以要将一个oy文件合理的分成多个py文件,在blog大目录下分为以下几个部分 ...

  10. struts2 标签s:select在table中单行显示

    <table class="query_form_table">             <tr>                 <th>用户 ...