vue-loader 中使用DLLPlugin打包的小坑

2017-11-02  本文已影响0人  kakaka0234

前一篇文章说了通过DllPlugin DllReferencePlugin 实现依赖包分开打包并注入到代码中, 近期使用的时候发现了一个坑, 在此说明

问题描述:

// config/index.js
modulex.exports = {
  ...
  library: {
    'vueBucket_v1_0': [
      "vue", // 有问题的依赖
      "vue-lazyload",
      "vue-resource",
      "vue-router",
      "vuex",
      "vuex-router-sync",
    ]
  },
}
// build/webpack.base.conf.js
module.exports = {
  resolve: {
    alias: {
      'vue$': 'vue/dist/vue.common.js',
    }
  }
}

查找原因

module.exports = {
  ...
  alias: {
    'vue$': 'vue/dist/vue.common.js'  // 将这一段注释掉
  }
}
{
  "name": "vue",
  "version": "2.4.4",
  "description": "Reactive, component-oriented view layer for modern web interfaces.",
  // 注意下面这几行
  "main": "dist/vue.runtime.common.js",
  "module": "dist/vue.runtime.esm.js",
  "unpkg": "dist/vue.js",
  "typings": "types/index.d.ts",
  ...
}

解法

// config/index.js
modulex.exports = {
  ...
  library: {
    'vueBucket_v1_0': [
      "vue/dist/vue.common.js", // vue替换成"vue/dist/vue.common.js"
      "vue-lazyload",
      "vue-resource",
      "vue-router",
      "vuex",
      "vuex-router-sync",
    ]
  },
}
// build/webpack.base.conf.js
module.exports = {
  ...
  resolve: {
    alias: {
      'vue$': 'vue/dist/vue.common.js',  // 保持原样    
    }
  }
}
上一篇 下一篇

猜你喜欢

热点阅读