本文介紹了vue 專案常用載入器及設定詳解,現在分享給大家,也給大家做個參考。 本文介紹了vue 專案常用載入器及設定詳解,分享給大家,具體如下: 1.安裝sass: 1.1 由於sass-loader依賴node-sass,所以在安裝sass-loader的同時還需安裝node-sassnpm install --save-dev node-sass npm install --save-dev sass-loader登入後複製1.2 安裝完成後修改標籤:</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;"> <style lang="scss">登入後複製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') }登入後複製上面是我整理給大家的,希望未來會對大家有幫助。 相關文章: 有關ejsExcel範本使用方法 在D3.js中如何建立物流地圖(詳細教學) 在javascript中如何取得圖片的top N主色值 #在Angular中利用trackBy如何提升效能 在微信小程式中如何實作翻牌小遊戲 使用百度地圖api如何清除指定覆蓋物Overlay具體怎麼做?