$ router redefine和Vue.use(Vuex)只能被调用一次

时间:2017-08-02 15:07:08

标签: vue.js vuejs2 vue-router vuex

我的项目由webpack模板!!;

创建

npm run build

在线它可以很好地工作,但vendor.js太大了!

修改了webpack config webpack.prod.conf.js添加:

JS

externals: {
  'vue': 'Vue',
  'vee-router': 'VueRouter',
  'vuex': 'Vuex',
},

我将vuevue-routervuex与CDN分开了!像:

HTML

<body>
  <div id="app"></div>
  <!-- built files will be auto injected -->
  <script src="https://unpkg.com/vue@2.3.4/dist/vue.js"></script>
  <script src="https://unpkg.com/vue-router@2.3.1/dist/vue-router.js"></script>
  <script src="https://unpkg.com/vuex@2.3.1"></script>
</body>

但是当我将文件上传到行时,会出现一些问题:

  

vuex@2.3.1:667 [vuex]已安装。 Vue.use(Vuex)应该是   只召唤一次。   vendor.js:24未捕获的TypeError:无法重新定义属性:$ router       在Function.defineProperty()       在Function.v [as install](vendor.js:24)       在Function.Vue.use(vue.js:4110)       在对象。 (vendor.js:24)       在r(manifest.js:1)       在对象。 (app.js:1)       在r(manifest.js:1)       在对象。 (app.js:1)       在r(manifest.js:1)       在对象。 (app.js:1)

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

如果您加载Vue&amp; Vuex通过CDN - 您不需要使用Vue.use(...)