webpack base

218 阅读1分钟
  • 1, 如何打包多个入口文件
    • 单个是字符串,多个是对象
    entry: './src/main.js',   // 单个
    entry: {
           first: './first_entry.js',
           second: './second_entry.js'
        }
    output: {
       // 文件名,将打包好的导出为bundle.js
       filename: './dist/[name].js'
    }    
    
  • 2, 如何移动第三方类库(echarts,jq)
    • 第三方类库移动文件。
  • 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';
    
  • 4, 如何打包?
  • 参考链接: