找了不少资料如何发布到服务器,然而还是没找到合适的可实际操作的文档。很多文档打着上线发布的标题,其实就是本地运行而已。其实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搭建的一个简单的宣传网站(不喜勿喷)

Logo

前往低代码交流专区

更多推荐