详解关于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 window.confirm确认 取消对话框实现代码小结
Oct 21 Javascript
extjs 3.31 TreeGrid实现静态页面加载json到TreeGrid里面
Apr 02 Javascript
jQuery中toggleClass()方法用法实例
Jan 05 Javascript
jquery滚动特效集锦
Jun 03 Javascript
JS常见问题之为什么点击弹出的i总是最后一个
Jan 05 Javascript
BootStrap智能表单实战系列(六)表单编辑页面的数据绑定
Jun 13 Javascript
HTML Table 空白单元格补全的简单实现
Oct 13 Javascript
vue.js树形组件之删除双击增加分支实例代码
Feb 28 Javascript
Vue 拦截器对token过期处理方法
Jan 23 Javascript
微信小程序实现跑马灯效果完整代码(附效果图)
May 30 Javascript
vue项目部署上线遇到的问题及解决方法
Jun 10 Javascript
微信小程序日历效果
Dec 29 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
PHP 计算代码执行耗时的代码修正网上普遍错误
2011/05/14 PHP
PHP APC的安装与使用详解
2013/06/13 PHP
php使用smtp发送支持附件的邮件示例
2014/04/13 PHP
php用ini_get获取php.ini里变量值的方法
2015/03/04 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
tp5.1 框架数据库-数据集操作实例分析
2020/05/26 PHP
javascript 全角转换实现代码
2009/07/17 Javascript
JS画线(实例代码)
2013/11/20 Javascript
angularjs实现与服务器交互分享
2014/06/24 Javascript
js遍历map javaScript遍历map的简单实现
2016/08/26 Javascript
使用 bootstrap modal遇到的问题小结
2016/11/09 Javascript
JS前向后瞻正则表达式定义与用法示例
2016/12/27 Javascript
Angular.Js中ng-include指令的使用与实现
2017/05/07 Javascript
js编写简单的计时器功能
2017/07/15 Javascript
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
2017/12/25 Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
2017/12/25 jQuery
JavaScript基础心法 深浅拷贝(浅拷贝和深拷贝)
2018/03/05 Javascript
详解js中的几种常用设计模式
2020/07/16 Javascript
[03:24]DOTA2超级联赛专访hao 大翻盘就是逆袭
2013/05/24 DOTA
Python中使用glob和rmtree删除目录子目录及所有文件的例子
2014/11/21 Python
使用Python的内建模块collections的教程
2015/04/28 Python
python通过post提交数据的方法
2015/05/06 Python
利用numpy实现一、二维数组的拼接简单代码示例
2017/12/15 Python
Python实现PS滤镜中马赛克效果示例
2018/01/20 Python
Python中列表与元组的乘法操作示例
2018/02/10 Python
对python3中的RE(正则表达式)-详细总结
2019/07/23 Python
Python log模块logging记录打印用法解析
2020/01/20 Python
基于keras输出中间层结果的2种实现方式
2020/01/24 Python
Python3中对json格式数据的分析处理
2021/01/28 Python
Omio俄罗斯:一次搜索公共汽车、火车和飞机的机票
2018/11/17 全球购物
广州地球村科技数据库题目
2016/04/25 面试题
什么是数据抽象
2016/11/26 面试题
医学专业毕业生推荐信
2013/11/14 职场文书
安全资金保障制度
2014/01/23 职场文书
大学生怎样写好自荐信
2014/02/25 职场文书
股权转让协议书
2014/04/12 职场文书