项目是vue-cli搭建的SAP,用npm run dev运行没有报错,用npm run build之后将生成的js放到erb里就报cannot redefine $router,看了一些回答说是vue router被定义了两次,或者vue被打包了两次,但是我的analyzer显示我只打包了一次vue
我在以下文件中有以下代码与vue和vue-router相关
main.js中
import Vue from 'vue'
import App from './App'
import store from './store'
import router from './router'
import CSRFToken from './assets/js/csrf-token.js'
import "./assets/css/bootstrap.min.css"
import "./assets/css/style.css"
...
let app = new Vue({
el: '#app',
router,
store,
template: '<App/>',
components: { App },
})
router/index.js中
import Vue from 'vue'
import VueRouter from 'vue-router'
import Index from '@/Index'
import Explore from '@/Explore'
import Question from '@/Question'
import NewQuestion from '@/NewQuestion'
import Notification from '@/Notification'
import Dashboard from '@/Dashboard'
import Dashboard_default from '@/Dashboard_default'
import test from '@/test'
Vue.use(VueRouter)
export default new VueRouter({
...
})
store/index.js中
import Vue from 'vue'
import Vuex from 'vuex'
import router from '../router'
Vue.use(Vuex)
export default new Vuex.Store({
...
})
烦请各位大佬指点一下看看是哪里出了问题
全局搜索一下'vue-router'这个看看,放浏览器报不报错呢?至于打包的问题,相同的包(不同版本不算)多次引用在同一个bundle里是不会重复打包的。