1. 程式人生 > >關於vue2.0工程釋出上線操作步驟

關於vue2.0工程釋出上線操作步驟

找了不少資料如何釋出到伺服器,然而還是沒找到合適的可實際操作的文件。很多文件打著上線釋出的標題,其實就是本地執行而已。其實vue2.0工程釋出相當簡單。
文章重點:

  1. 講解vue工程配置部分的意義
  2. 如何打包為生產環境中的前端工程
  3. 如何打包釋出到雲端以及nginx伺服器配置
    一、vue工程配置部分的意義
    首先我們先看下vue2.0整體工程目錄結構 (非重點省略)
 - vueDemo     //你的vue工程名
    - build 
       - build.js
       - check-version.js  
       - utils.js
       - vue-loader.conf.js  
- webpack.base.conf.js - webpack.dev.conf.js //這個就是針對我們開發環境所對應的webpack配置打包檔案了 - webpack.prod.conf.js //這個針對我們生產環境所對應的webpack配置打包檔案了 - config - dev.env.js //定義Node 開發環境配置 - index.js //打包dist目錄結構配置 - prod.env.js //定義Node 生產環境 - node_modules - src
- static - ... - package.json

下面我將擷取package.json檔案中的部分程式碼作解釋說明:

"scripts": {
    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
    "start": "npm run dev",
    "build": "node build/build.js"
  },

相信看過官網的都知道了,我們啟動我們的vue工程使用的都是npm run dev ,這裡執行的本質,其實就是使用webpack打包,所使用的配置檔案,就是我上面提到的bulid目錄下的 webpack.dev.conf.js。也就是我們的開發環境的執行結果了。
二、如何打包為生產環境中的前端工程


看到這裡你大概想那麼我所需要的生產環境需要執行什麼命令呢?
下面我將一一揭曉答案,其實答案就是我package.js 中的script指令碼 build /bulid.js 執行命令 npm run build
以下為 build.js的主要內容,都是vue工程自己生成的東西

'use strict'
require('./check-versions')()

process.env.NODE_ENV = 'production'

const ora = require('ora')
const rm = require('rimraf')
const path = require('path')
const chalk = require('chalk')
const webpack = require('webpack')
const config = require('../config')
const webpackConfig = require('./webpack.prod.conf')

const spinner = ora('building for production...')
spinner.start()

rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
  if (err) throw err
  webpack(webpackConfig, (err, stats) => {
    spinner.stop()
    if (err) throw err
    process.stdout.write(stats.toString({
      colors: true,
      modules: false,
      children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build.
      chunks: false,
      chunkModules: false
    }) + '\n\n')

    if (stats.hasErrors()) {
      console.log(chalk.red('  Build failed with errors.\n'))
      process.exit(1)
    }

    console.log(chalk.cyan('  Build complete.\n'))
    console.log(chalk.yellow(
      '  Tip: built files are meant to be served over an HTTP server.\n' +
      '  Opening index.html over file:// won\'t work.\n'
    ))
  })
})

從上面我們可以看出他其實用的就是我剛剛所解釋的 webpack.prod.conf.js檔案。
三、打包釋出到雲端以及nginx伺服器配置
通過執行這個指令碼檔案我們可以得到我們所需要的dist打包檔案,我這邊使用的是部署在阿里雲的nginx伺服器,只需要配置下資訊,重啟nginx伺服器就通過你的瀏覽器便可以訪問了。
配置程式碼

server
{
        listen       80;
        server_name 網址名;
        root  你的dist檔案目錄下檔案;
        index index.html ;

        if ($request_uri = '/index.php?route=account/reg/code') {
                        return 404;
                }

        error_log logs/error.log;
        access_log logs/access.log;
}

下面看看我寫的使用vue2.0 +element ui搭建的一個簡單的宣傳網站(不喜勿噴)