详解关于vue2.0工程发布上线操作步骤


Posted in Javascript onSeptember 27, 2018

找了不少资料如何发布到服务器,然而还是没找到合适的可实际操作的文档。很多文档打着上线发布的标题,其实就是本地运行而已。其实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;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
Sep 21 Javascript
一个JavaScript变量声明的知识点
Oct 28 Javascript
jquery获取及设置outerhtml的方法
Mar 09 Javascript
jQuery制作可自定义大小的拼图游戏
Mar 30 Javascript
jquery+php随机生成红包金额数量代码分享
Aug 27 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
Jun 13 Javascript
详解用Node.js写一个简单的命令行工具
Mar 01 Javascript
vue移动端实现红包雨效果
Jun 23 Javascript
Vue-cli3项目配置Vue.config.js实战记录
Jul 29 Javascript
antd多选下拉框一行展示的实现方式
Oct 31 Javascript
用vite搭建vue3应用的实现方法
Feb 22 Vue.js
原生Javascript+HTML5一步步实现拖拽排序
Jun 12 Javascript
解决betterScroll在vue中存在图片时,出现拉不动的问题
Sep 27 #Javascript
Vue中的v-for指令不起效果的解决方法
Sep 27 #Javascript
在vue中使用v-bind:class的选项卡方法
Sep 27 #Javascript
解决Vue中引入swiper,在数据渲染的时候,发生不滑动的问题
Sep 27 #Javascript
详解如何在vue项目中使用lodop打印插件
Sep 27 #Javascript
浅谈在vue中使用mint-ui swipe遇到的问题
Sep 27 #Javascript
Vue引用Swiper4插件无法重写分页器样式的解决方法
Sep 27 #Javascript
You might like
教你如何快捷的使用cmd访问mysql小技巧
2014/05/26 PHP
Symfony2实现在controller中获取url的方法
2016/03/18 PHP
php PDO异常处理详解
2016/11/20 PHP
PHP+mysql实现从数据库获取下拉树功能示例
2017/01/06 PHP
php swoft框架实例用法
2020/12/22 PHP
获取页面高度,窗口高度,滚动条高度等参数值getPageSize,getPageScroll
2006/09/22 Javascript
高性能Javascript笔记 数据的存储与访问性能优化
2012/08/02 Javascript
触屏中的JavaScript事件分析
2015/02/06 Javascript
jQuery的bind()方法使用详解
2015/07/15 Javascript
jQuery中(function($){})(jQuery)详解
2015/07/15 Javascript
Node.js检测端口(port)是否被占用的简单示例
2016/09/29 Javascript
Bootstrap Modal遮罩弹出层(完整版)
2016/11/21 Javascript
利用jquery实现验证输入的是否是数字、小数,包含保留几位小数
2016/12/07 Javascript
vue双向数据绑定原理探究(附demo)
2017/01/17 Javascript
jQuery实现别踩白块儿网页版小游戏
2017/01/18 Javascript
form表单序列化详解(推荐)
2017/08/15 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
浅谈vue引用静态资源需要注意的事项
2018/09/28 Javascript
js实现随机点名
2021/01/19 Javascript
python读取注册表中值的方法
2013/04/08 Python
在Python的Django框架中用流响应生成CSV文件的教程
2015/05/02 Python
Python中列表元素转为数字的方法分析
2016/06/14 Python
python之super的使用小结
2018/08/13 Python
Ubuntu18.04下python版本完美切换的解决方法
2019/06/14 Python
Windows下PyCharm2018.3.2 安装教程(图文详解)
2019/10/24 Python
Python greenlet和gevent使用代码示例解析
2020/04/01 Python
使用matlab 判断两个矩阵是否相等的实例
2020/05/11 Python
python实现定时发送邮件到指定邮箱
2020/12/23 Python
在线购买澳大利亚设计师手拿包和奢华晚装手袋:Olga Berg
2019/03/20 全球购物
Moda Italia荷兰:意大利男士服装
2019/08/31 全球购物
日本最大的购物网站乐天市场国际版:Rakuten Global Market(支持中文)
2020/02/03 全球购物
预备党员承诺书
2014/03/25 职场文书
党员自我评议对照检查材料
2014/09/27 职场文书
综合素质评价个性与发展自我评价
2015/03/06 职场文书
工作表现证明
2015/06/15 职场文书
2015秋季开学典礼致辞
2015/07/16 职场文书