1. 程式人生 > >Vue-cli腳手架搭建移動端響應式專案及nodejs服務端搭建

Vue-cli腳手架搭建移動端響應式專案及nodejs服務端搭建

首先安裝腳手架及建立基於webpack專案

  • 首先下載vue相關
    • cnpm install vue
  • 安裝 vue-cli腳手架
    • 全域性安裝 vue-cli
    • $ cnpm install –global vue-cli
    • 建立一個基於 webpack 模板的新專案
    • $ vue init webpack my-project
    • 如果有提示,預設回車即可
  • 進入專案,安裝並執行:
    • cd my-project
    • cnpm install
    • cnpm run dev

整合scss語法

  • 首先什麼事scss及為什麼用scss
    scss是css預編譯處理語言,是專門為css設計的,它的優勢在於開發效率高。對於一些樣式複雜的站點,比手寫 CSS 快得多,設計思想是面向物件話,結合es6語法,效果很好。關於語法學習這裡就不說了。
  • 下載關於scss的相關包
    • npm install sass-loader node-sass –save-dev
  • 專案整合
    專案中找到 build資料夾下面的webpack.base.conf.js檔案新增如下程式碼塊
{
          test: /\.scss$/,
          use: [{
              loader: "style-loader" // creates style nodes from JS strings
          }, {
              loader: "css-loader" // translates CSS into CommonJS
          
}, { loader: "sass-loader" // compiles Sass to CSS }] }

在樣式中新增 lang=”scss”既可以使用scss語法

整合px2rem-loader來達到響應式佈局

  • 下載 px2rem-loader
    • npm i install px2rem-loader –save-dev
  • vue中配置 在build下的 utils.js中,找到generateLoaders 方法
//先新增物件
var px2remLoader = {
    loader: 'px2rem-loader'
, options: { remUnit: 41.4//設計稿寬度,也就是設計手機的螢幕寬度 } }; // 找到這個物件,在載入數組裡面新增px2remLoader 來確定載入到 function generateLoaders (loader, loaderOptions) { const loaders = options.usePostCSS ? [cssLoader, postcssLoader,px2remLoader ] : [cssLoader,px2remLoader ] if (loader) { loaders.push({ loader: loader + '-loader', options: Object.assign({}, loaderOptions, { sourceMap: options.sourceMap }) }) } // Extract CSS when that option is specified // (which is the case during production build) if (options.extract) { return ExtractTextPlugin.extract({ use: loaders, fallback: 'vue-style-loader' }) } else { return ['vue-style-loader'].concat(loaders) } }

這樣就會自動幫我們把對應的px轉換成rem
- 下載安裝lib-flexible
- npm i lib-flexible –save-dev
- 在專案入口檔案main.js中引入lib-flexible
- import ‘lib-flexible/flexible.js’
上面所述,移動端響應式佈局專案就搭建完畢了。

設定代理來實現前後端分離的混合開發

找到–condig–index.js檔案

proxyTable: {
        "/api":{
            target:"http://localhost:3000/",//需要跳轉的伺服器地址
            changeOrigin:true,
            pathRewrite:{
                '^/api':'/' //瀏覽器會根據讀取的帶有api開頭的進行重寫
            }
        }
    }

這樣就可以訪問後端人員提供的介面進行前後端互動了

擴充套件關於axios的使用

Axios 是一個基於 promise 的 HTTP 庫,可以用在瀏覽器和 node.js 中。
1、安裝axios
npm install axios –save-dev
2、配置
首先,找到vue腳手架入口 main.js處進行元件引入
import axios from ‘axios’
然後以原型鏈的形勢掛載到Vue物件中並進行使用如下:
Vue.prototype.$axios = axios

基於Express服務端的nodejs專案搭建

1.下載express框架的生成命令(只需要執行一次)
npm install express-generator -g
2.生成開發專案資料夾(一個專案執行一次)
express node-project -e
-e:利用ejs模組引擎
3.進入node-project資料夾,並且執行npm install
下載node-project資料夾下package.json檔案中dependencies中的所有依賴的模組
4.啟動專案,並在瀏覽器中訪問專案 http://localhost:3000
npm start
5.修改package.json
“scripts”: {
“start”: “supervisor ./bin/www” // 每次修改及時生效
}
6.修改模板引擎的字尾名
app.js中第15行改為下列兩行程式碼,將ejs檔案替換為html
app.engine(‘html’, require(‘ejs’).__express);
app.set(‘view engine’, ‘html’);
修改views目錄下的檔案字尾名為html
這樣基於Express框架的nodejs專案基本搭建完成。