中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue項目常用加載器及配置的示例分析

發布時間:2021-08-18 14:51:42 來源:億速云 閱讀:119 作者:小新 欄目:web開發

這篇文章主要介紹了vue項目常用加載器及配置的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

具體如下:

1.安裝sass:

1.1 由于sass-loader依賴于node-sass,所以在安裝sass-loader的同時還需安裝node-sass

npm install --save-dev node-sass
npm install --save-dev sass-loader

1.2 安裝完成后修改 <style>標簽:

 <style lang="scss"></style>

2.安裝axios:

axios用于數據請求,在Vue1.0的時候有一個官方推薦的 ajax 插件 [vue-resource](https://github.com/pagekit/vue-resource),但是自從 Vue 更新到 2.0 之后,官方就不再更新 vue-resource,推薦使用axios。

2.1 安裝:

npm install axios --save-dev

2.2. 在main.js中引入:

import axios from 'axios'
Vue.prototype.$http = axios

2.3. 在組件中使用:

this.$http({
  method:'get',
  url:'http://breadoffer.com/api/artcile',
  params:{
   platformCode:'pc'   // 用于向后臺傳參
  }
}).then(response => {
  console.log(response)
})

3.安裝mock:

3.1. 安裝:

npm install mockjs --save-dev

3.2. 使用:在src下新建mock.js文件

import Mock from 'mockjs';

export default Mock.mock('http://platform.breadoffer.com/api/oversea', {
 "data":{
  "breadActivities|9":[{
   "title":"@csentence(5,25)",
   "desc":"@paragraph(2)",
   "beiginTime":"@date",
   "endTime":"@date",
   "stateName":"進行中",
  }],
 }
})

3.3. 在需要數據的組件中引入:

import datas from '../mock' // 根據自己實際目錄引入

 methods: {
  request() {
  this.$http({
   method: 'get',
   url: 'http://platform.breadoffer.com/api/oversea',
   params: {
   courseMaxCount: 2,  //設置課程返回的數據為2條
   teacherMaxCount: 10, //設置導師返回的數據為10條
   }
  }).then(response => {
   console.log(response)
  }).catch(error => {
    console.log(error)
  })
  },
 }

4.安裝 lib-flexible: --實現移動端自適應

4.1 安裝:

npm install lib-flexible --save

在實際開發過程中,使用flexible插件時會自動把px轉換成rem單位,在vue項目中我們使用px2rem這個工具進行轉換,所以需要安裝px2rem加載器:

npm install px2rem-loader

4.2 在main.js中引入:

import 'lib-flexible'

4.3 配置px2rem-loader: (在build/untils.js)

remUnit 的意思是1rem=多少像素, 結合lib-flexible,我們將px2remLoader的option.remUnit 設置成設計稿寬度的1/10,假設我們的設計稿寬度是750,則remUnit為75,然后在cssLoader后面加一個px2remLoader即可

 var px2remLoader = {
 loader: 'px2rem-loader',
 options: {
  remUnit: 75
 }
 }

 // generate loader string to be used with extract text plugin
 function generateLoaders (loader, loaderOptions) {
 const loaders = [cssLoader,px2remLoader]
 if (loader) {
  loaders.push({
  loader: loader + '-loader',
  options: Object.assign({}, loaderOptions, {
   sourceMap: options.sourceMap
  })
  })
 }

5.安裝 sass-resourses-loader

如果在項目中使用sass,或多或少會用到全局的變量,mixin/function等,那么如何將其設為全局狀態,以避免在每個vue文件中引入?

5.1 安裝 sass-resources-loader:

npm i sass-resources-loader

5.2 在main.js中引入

import 'lib-flexible'

5.3 配置px2rem-loader: (在build/untils.js)

在文件中找到這句注釋

// [https://vue-loader.vuejs.org/en/configurations/extract-css.html](https://vue-loader.vuejs.org/en/configurations/extract-css.html)

在注釋上面添加如下函數:

 function resolveResouce(name) {
  return path.resolve(__dirname, '../src/sass/' + name);  // sass文件所在目錄
 }

 function generateSassResourceLoader() {
  var loaders = [
   cssLoader,
   // 'postcss-loader',
   'sass-loader',
   {
    loader: 'sass-resources-loader',
    options: {
     // it need a absolute path
     resources: [resolveResouce('_mixin.scss')]
    }
   }
  ];
  if (options.extract) {
   return ExtractTextPlugin.extract({
    use: loaders,
    fallback: 'vue-style-loader'
   })
  } else {
   return ['vue-style-loader'].concat(loaders)
  }
 }

并且將以下代碼

 // return {
 // css: generateLoaders(),
 // postcss: generateLoaders(),
 // less: generateLoaders('less'),
 // sass: generateLoaders('sass', { indentedSyntax: true }),
 // scss: generateLoaders('sass'),
 // stylus: generateLoaders('stylus'),
 // styl: generateLoaders('stylus')
 // }

替換為:

 return {
  css: generateLoaders(),
  postcss: generateLoaders(),
  less: generateLoaders('less'),
  sass: generateSassResourceLoader(),
  scss: generateSassResourceLoader(),
  stylus: generateLoaders('stylus'),
  styl: generateLoaders('stylus')
 }

感謝你能夠認真閱讀完這篇文章,希望小編分享的“vue項目常用加載器及配置的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

怀仁县| 宁化县| 苍梧县| 静乐县| 高尔夫| 元江| 永善县| 龙陵县| 望江县| 军事| 邹城市| 凤凰县| 太白县| 鄂尔多斯市| 文山县| 东乌| 永定县| 神木县| 桃园市| 舒城县| 安仁县| 扶绥县| 通海县| 屯昌县| 芦山县| 射洪县| 化州市| 武宁县| 兴隆县| 图木舒克市| 洪洞县| 千阳县| 宜阳县| 沈阳市| 丹寨县| 栖霞市| 克拉玛依市| 合水县| 吉安县| 阿拉尔市| 青州市|