第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Vue-cli開(kāi)發(fā)中的常見(jiàn)問(wèn)題

標(biāo)簽:
Html/CSS JavaScript Vue.js
1. 解决跨域请求

config/index.js

module.exports = {
  dev: {
    proxyTable: {
      '/api': {
        target: 'http://www.xxxx.com', // 代理目标
        changeOrigin: true,
        pathRewrite: {
          '^/api': ''
        }
      }
    },
  }
}

组件

this.$http.get('api/xxx').then(res => {})
2. axios的post提交,服务端接收不了参数

打开Chrome的Network面板,发现参数以Json的形式放在了Request Payload中:
错误

解决办法

main.js

// 使用qs模块
import qs from 'qs'
import axios from 'axios'
Vue.prototype.$http = axios
Vue.prototype.$qs = qs
// 设置默认请求头Content-Type
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'

组件

// 使用qs进行数据的处理
let data = this.$qs.stringify({
  query: 'xxx',
  sign: 'xxx'
});
// post请求
this.$http({
  method: "post",
  url,
  data
}).then(res => {
  
})

正常的参数应该是在From data中
正常

3. 兼容IE8+

babel 默认只转换新的 Javascript 句法,而不转换新的 Api ,比如Generator、Set、Symbol、Promise 等全局对象,为了解决这个问题,我们使用一种叫做 Polyfill(代码填充,也可译作兼容性补丁) 的技术

npm install babel-polyfill --save-dev

main.js

// 放在最顶部
import 'babel-polyfill'

build/webpack.base.conf.js

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

新版本发布之后(cnpm run build),浏览器访问还是看到上个版本的内容

解决办法1

把服务器的文件全部删除,再上传,而不是直接覆盖

解决办法2

build/webpack.prod.conf.js

const webpackConfig = merge(baseWebpackConfig, {
  output: {
    path: config.build.assetsRoot,
    filename: utils.assetsPath('js/[name].[hash].js'),
    chunkFilename: utils.assetsPath('js/[id].[hash].js')
  },
})
5. 手机同步热更新
  1. 跟电脑连同个WI-FI,查看自己本机的IP地址,打开命令行,输入ipconfig

  2. config/index.js

  3. 手机打开浏览器访问http://192.168.1.132:8080就可以了

6. 出现资源引用错误的解决方案

build/index.js,将’/‘修改为’./’

7. 出history模式下刷新当前路由出现404的问题
8. 封装自己的组件脚本

可以在组件中以this.$xxx的方式调用,而不需要引入改Js脚本
dialog.js

const dialog = (function () {

  let show = function () {}
  let hide = function () {}

  return {
    show,
    hide
  }

})()

export default dialog

main.js

import dialog from 'dialog.js'
Vue.prototype.$dialog = dialog

组件

this.$dialog.show()

#####9. 路由懒加载
解决首次加载速度慢的问题

router.js

let index = resolve => require(['@/components/index'], resolve)

routes: [
  {
    path: '/index',
    component: index
  }
]

#####10. 动态添加状态
组件

// 正确做法
this.$set(this, phone, '')

// 错误做法,会导致该状态无法实现双向绑定
this.data.phone = ''

#####11. 如何使用scss

  1. 安装依赖
npm install sass-loader node-sass --save-dev
  1. 组件中
<style scoped lang="scss"></style>

#####12. 动态改变title
router.js

routes: [
  {
    path: '/index',
    component: index,
    meta: {
      title: '主页'  
    }
  },
  {
    path: '/about',
    component: about,
    meta: {
      title: '关于'  
    }
  }
]

main.js

import router from './router'

router.beforeEach((to, from, next) => {
  let title = to.meta.title;
  title && (document.title = to.meta.title);
  next();
})
點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消