3,假如需要在工程里引入了jQuery,但是我希望通过CDN来使用jQuery,而不是打包,
- 在webpack.config.js里进行配置 externals属性,类型是一个对象使用 Externals 这个配置,key是在webpack里,通过 import引入的包名;value是通过CDN引入后,模块暴露出来的全局变量名;在引入模块时,webpack发现他已经配置了,因此不会像常规处理那样,去加载/打包模块,而是在运行时,再去取value这个全局变量;
- 编译后代码如下
({
0: function(...) {
var jQuery = require(1);
/* ... */
},
1: function(...) {
// 很明显这里是把window.jQuery赋值给了module.exports
// 因此我们便可以使用require来引入了。
module.exports = jQuery;
},
/* ... */
});
// HTML 引入
<script src="https://lib.baomitu.com/react/16.4.0-alpha.7926752/cjs/react.development.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.3.2/cjs/react-dom-server.browser.development.js
"></script>
// webpack
module.exports = {
...
output: {
...
},
externals : {
react: 'react',
redux: 'redux'
}
...
}
// js 用
import React from 'react';
import { createStore, combineReducers, applyMiddleware } from 'redux';