使用vue-cli3新建一個項目,並寫好基本配置


 

前言
目前看到該文章已經被
[腳本之家](https://www.jb51.net/article/160146.htm)
[碼農教程](http://www.manongjc.com/article/109553.html)
[bbsmax](https://www.bbsmax.com/A/VGzlp71wzb/)
等多處收錄,感到灰常開心~~
希望有人再轉載的時候能夠加上出處(不強制)
自己的總結能夠得到擴展,幫助更多的人,感覺非常高興,會繼續努力下去噠~~

----------------------------------------------------  正文開始 --------------------------------------------------

1. 使用vue-cli3新建項目: https://cli.vuejs.org/zh/guide/creating-a-project.html

注意,我這里用gitbash不好選擇選項,我就用了基本的cmd(系統命令提示符):上下箭頭和空格鍵可控制選項。 

詳細步驟: 

(1)vue create init: 這里我選擇了自定義配置

 

(2)使用上下箭頭和空格進行選擇,我這里選擇了這四個,之所以沒用css pre-processors是因為我的項目中要用postcss-cssnext,后面會有詳細配置說明

 

(3)后面的

Use class-style component syntax? 是否使用class風格的組件語法?

Use Babel alongside TypeScript for auto-detected polyfills? 是否使用babel做轉義?

Use history mode for router? 是否使用路由的history模式?

Where do you prefer placing config for Babel, PostCSS, ESLint, etc.? 把babel,postcss,eslint這些配置文件放哪?

Save this as a preset for future projects? (Y/n) 是否記錄一下以便下次繼續使用這套配置? 

 

2. 改項目端口(個人需求): 在根目錄新建vue.config.js(vue-cli3其他配置相關也寫在這里)

module.exports = {
    devServer: {
        port: 8100, // 端口號
    }
}

 

3. 根據環境設置相關變量(比如請求地址、打包輸出路徑等),並打包不同環境代碼

(1)在根目錄新建appconf.json,保存不同環境的對應變量配置

{
  "dev": {
    "serverUrl": "http://localhost:57156/"
  },
  "build": {
    "serverUrl": "http://build.com/",
    "outputDir": "../../dist/build",                     
    "productId": "111"
  },
  "alpha": {
    "serverUrl": "http://build-test.com/",
    "outputDir": "../../dist/alpha",
    "productId": "222"
  }
}

(2)src下新建common文件夾,下面新建configByEnv.js,根據環境設置對應變量值

var path = require('path')
var appconf = require('../../appconf.json')

var serverurl
var productId = ''
switch (process.env.NODE_ENV) {
    case 'production':
        serverurl = appconf.build.serverUrl
        productId = appconf.build.productId
        break
    case 'development':
        serverurl = appconf.dev.serverUrl
        break
    case 'alpha':
        serverurl = appconf.alpha.serverUrl
        productId = appconf.alpha.productId
        break
}


// 配置 build 文件輸出路徑, 可以使用絕對路徑或相對路徑
var outputDir
var reg = /^\.(\.)?\/.*/
if (reg.test(appconf.build.outputDir)) {
    if (process.env.NODE_ENV == 'alpha')
        outputDir = path.resolve(__dirname, appconf.alpha.outputDir) // 相對路徑
    else
        outputDir = path.resolve(__dirname, appconf.build.outputDir) // 相對路徑
} else {
    if (process.env.NODE_ENV == 'alpha')
        outputDir = appconf.alpha.outputDir
    else
        outputDir = appconf.build.outputDir // 絕對路徑
}


var conf = {
    outputDir: outputDir,
    serverUrl: serverurl,
    env: process.env.NODE_ENV,
    productId: productId
}

module.exports = conf
View Code

(3) 在需要用以上變量的地方引入即可,如

.js中: var { outputDir } = require('./src/common/configByEnv.js');

.ts中:import {serverUrl} from '@/common/configByEnv.js';

注意:ts這樣引入會報錯,需要將tsconfig.json中添加  "allowJs": true,

-------- 上面針對某些變量根據不同環境設置了不同值,那么打包時只要更改環境,打包后則會取到不同環境對應的特定值 -----

因為項目中已經有開發環境和打包build環境,我這里只要再加一個打包alpha測試環境:(這里只簡述實現步驟,想了解更多點擊https://www.cnblogs.com/XHappyness/p/9337229.html 

(1)package.json 中添加

{
  ···
  "scripts": {
    "serve": "vue-cli-service serve",
    "alpha": "vue-cli-service build --mode alpha", "build": "vue-cli-service build"
  }
  ···
}

(2)根目錄新建.env.alpha,其內容為:

NODE_ENV = 'alpha'

(3)在vue.config.js設置打包輸出路徑

var { outputDir } = require('./src/common/configByEnv.js');

module.exports = {
    outputDir: outputDir,
    ···
}

 

4. 在項目中引入並配置postcss-nextcss: https://www.cnblogs.com/XHappyness/p/7676680.html

5. 引入組件庫:我這里用了elementUI,配置步驟: https://www.cnblogs.com/XHappyness/p/7308464.html

6. 引入ajax庫:我這里用了axios,配置步驟: https://www.cnblogs.com/XHappyness/p/9993878.html

7. 以上為vue-cli3初始化項目和一些基礎配置,可根據個人喜好將ts和css文件與.vue分離。然后,愉快的寫代碼吧。。

 

附: 該配置的項目地址: https://github.com/XHappyness/vue-cli3_initProject


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM