详解关于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 相关文章推荐
javascript网页关键字高亮代码
Jul 30 Javascript
javascript 类方法定义还是有点区别
Apr 15 Javascript
JS判断不同分辨率调用不同的CSS样式文件实现思路及测试代码
Jan 23 Javascript
关于extjs treepanel复选框选中父节点与子节点的问题
Apr 02 Javascript
javascript计算用户打开网页的停留时间
Jan 09 Javascript
Ajax请求在数据量大的时候出现超时的解决方法
Feb 27 Javascript
chrome不支持form.submit的解决方案
Apr 28 Javascript
javascript实现仿IE顶部的可关闭警告条
May 05 Javascript
jQuery实现的自定义轮播图功能详解
Dec 28 jQuery
详解微信小程序之一键复制到剪切板
Apr 24 Javascript
koa+jwt实现token验证与刷新功能
May 30 Javascript
vue中利用mqtt服务端实现即时通讯的步骤记录
Jul 01 Vue.js
解决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
ThinkPHP惯例配置文件详解
2014/07/14 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
2020/01/23 PHP
js不是基础的基础
2006/12/24 Javascript
javascript一点特殊用法
2008/05/28 Javascript
jQuery 技巧大全(新手入门篇)
2009/05/12 Javascript
js随机颜色代码的多种实现方式
2013/04/23 Javascript
js原生appendChild的bug解决心得分享
2013/07/01 Javascript
JS动态创建Table,Tr,Td并赋值的具体实现
2013/07/05 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
2013/08/07 Javascript
浅谈js中的闭包
2015/03/16 Javascript
js实现的简洁网页滑动tab菜单效果代码
2015/08/24 Javascript
javascript实现的猜数小游戏完整实例代码
2016/05/10 Javascript
完美实现js选项卡切换效果(二)
2017/03/08 Javascript
微信JSSDK调用微信扫一扫功能的方法
2017/07/25 Javascript
easyui-datagrid开发实践(总结)
2017/08/02 Javascript
Vue-router路由判断页面未登录跳转到登录页面的实例
2017/10/26 Javascript
vue + any-touch实现一个iscroll 实现拖拽和滑动动画效果
2019/04/08 Javascript
浅谈Webpack多页应用HMR卡住问题
2019/04/24 Javascript
javascrpt密码强度校验函数详解
2020/03/18 Javascript
Python如何判断数独是否合法
2016/09/08 Python
Python实现的密码强度检测器示例
2017/08/23 Python
Python实现不规则图形填充的思路
2020/02/02 Python
python实现ftp文件传输功能
2020/03/20 Python
Python语言编写智力问答小游戏功能
2020/10/13 Python
opencv实现图像几何变换
2021/03/24 Python
美容院店长岗位职责
2014/04/08 职场文书
小学英语教师先进事迹
2014/05/28 职场文书
乡镇领导干部个人对照检查材料思想汇报
2014/09/23 职场文书
2015届本科毕业生自我鉴定
2014/09/27 职场文书
2015年先进个人自荐书
2015/03/24 职场文书
承诺书怎么写 ?
2019/04/16 职场文书
总结一些Java常用的加密算法
2021/06/11 Java/Android
通过shell脚本对mysql的增删改查及my.cnf的配置
2021/07/07 MySQL
Redis安装使用RedisJSON模块的方法
2022/03/23 Redis
Java 异步任务计算FutureTask
2022/04/28 Java/Android
JavaScript设计模式之原型模式详情
2022/06/21 Javascript