vue-cli3.0打包时如何忽略某个第三方依赖包

前几天接到了用vue重构某个业务模块的需求,常规开发不做讨论,但是在打包时需要排除业务中使用的某个第三方依赖包。 代码如下:

//main.js 
import Vue from 'vue';
import Cesium from 'cesium/Cesium'; //必须全局引入,某个组件中引入忽略无效
import Widgets from 'cesium/Widgets/widgets.css'

Vue.prototype.Cesium = Cesium;
复制代码
//vue.config.js(如果没有就在根目录下新建)

const cesiumSource = "node_modules/cesium/Source";
const cesiumWorkers = '../Build/Cesium/Workers';
module.exports = {
    chainWebpack: config => {
        //定义别名
        .resolve.alias.set('cesium', path.resolve(__dirname, cesiumSource)).end().end()
    },
    configureWebpack: config => {
    let settings = {};
    if (process.env.NODE_ENV === 'production') { // 使用环境变量,区分生产和开发模式
      settings = {
        plugins: [
          new webpack.DefinePlugin({
            'CESIUM_BASE_URL': JSON.stringify('static')
          }),
          new CopyWebpackPlugin([{
            from: path.join(cesiumSource, cesiumWorkers),
            to: 'static/Workers'
          }]),
          new CopyWebpackPlugin([{
            from: path.join(cesiumSource, 'Assets'),
            to: 'static/Assets'
          }]),
          new CopyWebpackPlugin([{
            from: path.join(cesiumSource, 'Widgets'),
            to: 'static/Widgets'
          }])
        ],
        externals: {
            /**
            *key: main.js中全局引入的路径
            *value: 全局暴露出来的对象名
            */
          "cesium/Cesium": "Cesium" //忽略js
          "cesium/Widgets/widgets.css": "Widgets" //忽略css
        }
      }

    } else {
      settings = {
        plugins: [
          new webpack.DefinePlugin({
            'CESIUM_BASE_URL': JSON.stringify('')
          }),
          new CopyWebpackPlugin([{
            from: path.join(cesiumSource, cesiumWorkers),
            to: 'Workers'
          }]),
          new CopyWebpackPlugin([{
            from: path.join(cesiumSource, 'Assets'),
            to: 'Assets'
          }]),
          new CopyWebpackPlugin([{
            from: path.join(cesiumSource, 'Widgets'),
            to: 'Widgets'
          }]),
        ]
      }
    }
    return settings
}
复制代码

that's all

转载于:https://juejin.im/post/5c7a39156fb9a04a0f65e4e1

你可能感兴趣的:(vue-cli3.0打包时如何忽略某个第三方依赖包)