采用了Vue-cli的方式。javascript
一、反向代理css
devServer: { host: '127.0.0.1', port: 9000, proxy: { '/gonghui/': { target: 'http://127.0.0.1', secure: false, changeOrigin: true, pathRewrite: { '^/gonghui': 'gonghui' } } }, historyApiFallback: { index: url.parse(options.dev ? '/assets/' : publicPath).pathname } },
二、main.jsvue
import Vue from 'vue' import App from './App' import router from './router' /* * iview的全局引入 */ import iView from 'iview'; import 'iview/dist/styles/iview.css'; Vue.use(iView); import axios from 'axios' /* * axios的引入 */ Vue.prototype.axios=axios; import './style/index.scss'; Vue.config.productionTip = false /* eslint-disable no-new */ new Vue({ el: '#app', router, components: { App }, template: '<App/>' })
三、入口增长了java
entry: {
app: ['babel-polyfill','./src/main.js']
},ios
四、vue-cli 打包压缩(npm run build)文件后,默认根目录修改,解决先后端代码结合的路径问题。web
将config/index.js文件中的assetsPublicPath 值修改成你须要的根目录,原来默认是‘/’,下图中加上了"elkdashboard/",“elkdashboard”是本项目的项目名,用tomcat起的服务URL默认根目录会加上“/项目名/”。这样将打包好的代码放到项目的webapp目录下就不会出现根目录不统一的状况了,改为'./'就成相对路径了vue-cli
五、Iview字体图标 css文件引用的字体图标路径打包以后找不到npm
在vue-cli项目中build/utils.js中找到以下代码块,添加
publicPath:’../../’axios
if (options.extract) { return ExtractTextPlugin.extract({ use: loaders, fallback: 'vue-style-loader', publicPath:'../../' //添加这句话 }) } else { return ['vue-style-loader'].concat(loaders) }
vue会用loader将项目中的各类本地URL转换
build后F12查看network,发现资源404,而且去查找的路径是
/dist/static/css/static/img/boston.0d72519.jpg
显然,css中引用的图片地址有问题,须要返回上两级目录。
CSS中引用的字体文件,图片文件路径错误的问题都解决了。后端