vue項目上線遇到的問題

1.項目部署到Nginx,background-image中的圖片路徑找不到?
css代碼裏使用這樣的路途圖片:

  background-image: url('../page/user/login_banner.png') no-repeat;
  background-size: 100% 100%;

經過webpack打包後,圖片到dist/static/img目錄下
1.jpg
打包之後background: url('../page/user/login_banner.png') no-repeat; 會被解析爲background: url('static/img/login_banner.png') no-repeat;

但是這行代碼在css文件夾下,裏面的css文件訪問img文件下圖片,需要返回上級目錄。所以‘static/img/login_banner.png'目錄是錯誤的。

在build/utils.js文件裏添加

if (options.extract) {
  return ExtractTextPlugin.extract({
    use: loaders,
    publicPath: '../../',//解決背景圖片路徑錯誤
    fallback: 'vue-style-loader'
  })
} else {
  return ['vue-style-loader'].concat(loaders)
}

2.IE瀏覽器通過url傳遞中文參數,報400錯誤?
在url中不要傳中文參數,可以在傳遞前對中文進行編碼,然後在後臺進行解碼。通過html自帶的window.encodeURI()方法來對中文進行編碼,在後臺也不需要進行轉碼

3.vue項目在IE9下,報出unhandled promise rejection或不能訪問?
1)npm安裝babel-polyfill,官方鏈接:https://babeljs.io/docs/en/ba...

npm install --save-dev babel-polyfill

2)找到build文件夾下webpack.base.conf.js在裏面修改一下就行
原來是這樣的

module.exports = {
  ....
  entry: {
    app: './src/main.js'
  },
  ....
}  

改成

module.exports = {
  ....
  entry: {
    app:['babel-polyfill','./src/main.js']//新增babel-polyfill
  },
  ....
}

3)axios的請求在ie下沒有用
npm安裝:npm install es6-promise --save-dev

在main.js引入
import promise from 'es6-promise'
promise.polyfill()

重啓項目,就可以了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章