webpack里的externals
最近在用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的更多相关文章
- webpack里的module选项配置
webpack里的module 有loaders选项和noParse选项,noParse选项配置不需要解析的目录和文件 module:{ loaders:[], noParse: [ path.joi ...
- webpack之深入浅出externals
我们通常在做项目时可能会把第三方库打包到bundle中,比如下面这张图 如果不想把第三方库打包到bundle中,这就有了externals.官方的使用externals比较简单,只需三步-- 1.在H ...
- 在webpack里使用jquery.mCustomScrollbar插件
malihu-custom-scrollbar-plugin是一个依赖jquery的自定义网页滚动条样式插件 网站:http://manos.malihu.gr/jquery-custom-conte ...
- 单步调试理解webpack里通过require加载nodejs原生模块实现原理
在webpack和nodejs里,我们经常使用require函数加载原生模块或者开发人员自定义的模块. 原生模块的加载,比如: const path = require("path" ...
- webpack 里的 import, exports 实现原理
在使用 webpack 对脚本进行打包, 在开发中, 每个文件中都会使用 import 语句来导入一些功能,又会使用 export 语句导出一些功能,为了研究 import 和 export 原理,研 ...
- webpack里CommonJS的require与ES6 的module.exports加载模块有何不同
只需明白commonjs的规则即可,import会被转化为commonjs格式的,babel默认会把ES6的模块转化为commonjs规范的. import vue from 'vue'; //等价于 ...
- webpack——devtool里的7种SourceMap模式
我们先来看看文档对这 7 种模式的解释: 模式 解释 eval 每个module会封装到 eval 里包裹起来执行,并且会在末尾追加注释 //@ sourceURL. source-map 生成一个S ...
- [webpack] devtool里的7种SourceMap[转]
modle: development cheap-source-map debug 不太方便,不是以原来的文件的形式cheap-module-source-map 可以 debugcheap-modu ...
- webpack入门——webpack的安装与使用
一.简介 1.什么是webpack webpack是近期最火的一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX).coffee.样式(含less/sass).图片等都作为模块来使用和处理. ...
随机推荐
- 移植linux4.14内核到四核Exynos4412开发板
最近法师收到了很多留言,其中有一部分问法师什么时候更新,还有一大部分问法师我是买迅为的IMX6UL精英版好呢还是买4412精英版好呢,因为我们这俩个都不贵.法师的建议的是入手4412!为什么呢? 第一 ...
- win下PowerShell的簡單使用
- AdminSwagger2Configuration
package org.linlinjava.litemall.admin.config; import org.springframework.context.annotation.Bean; im ...
- Elasticsearch-URL查询实例解析
ES(elasticsearch),以下简称ES ES的查询有query.URL两种方式,而URL是比较简洁的一种,本文主要以实例探讨和总结URL的查询方式 1.语法 curl [ -s][ -g][ ...
- day06-迭代器
一.迭代器: 1.可迭代协议:含有__iter__方法. 2.迭代器协议:同时含有__iter__和__next__方法.迭代器是可迭代对象. iterator迭代器. 3.使用可迭代对象有什么好处? ...
- PAT甲级——1002 A+B for Polynomials
PATA1002 A+B for Polynomials This time, you are supposed to find A+B where A and B are two polynomia ...
- intel windows caffe加速
网址: https://github.com/BeFreeRoad/intel_caffe_windows 将intel caffe从linux平台移植到windows平台. 性能: 在虚拟机上测试可 ...
- idea,2018版破解方法
1.准备安装文件 2.安装 ideaIU-2018.3.5.exe ,如这里是安装到IDEA这个文件夹: 3.复制JetbrainsIdesCrack-4.2-releasexxx.jar放到IDEA ...
- es6变量和函数的提升、暂时性死区?
es6变量和函数的提升.暂时性死区?
- 关于js中的比较时遇到的坑
关于JavaScript中比较遇到的坑 当你的要比较数字的大小但是你的数字确是字符串时,就会出错比如说: console.log('5' > '6') // fasle consloe.log( ...