详解关于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中this关键字使用方法详解
Mar 08 Javascript
js 面向对象的技术创建高级 Web 应用程序
Feb 25 Javascript
JQuery从头学起第二讲
Jul 04 Javascript
jquery offset函数应用实例
Nov 14 Javascript
jQuery应用之jQuery链用法实例
Jan 19 Javascript
JavaScript通过字符串调用函数的实现方法
Mar 18 Javascript
Bootstrap进度条学习使用
Feb 09 Javascript
详解JS中的立即执行函数
Feb 24 Javascript
JS实现方形抽奖效果
Aug 27 Javascript
微信小程序http连接访问解决方案的示例
Nov 05 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
Aug 23 Javascript
Element el-button 按钮组件的使用详解
Feb 01 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
神族 Protoss 历史背景
2020/03/14 星际争霸
php中time()和mktime()方法的区别
2013/09/28 PHP
PHP中使用asort进行中文排序失效的问题处理
2014/08/18 PHP
使用xampp搭建运行php虚拟主机的详细步骤
2015/10/21 PHP
thinkphp3.x中session方法的用法分析
2016/05/20 PHP
给angular加上动画效遇到的问题总结
2016/02/17 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
2016/06/27 Javascript
JS动态加载脚本并执行回调操作
2016/08/24 Javascript
javascript history对象详解
2017/02/09 Javascript
Bootstrap媒体对象学习使用
2017/03/07 Javascript
Express之get,pos请求参数的获取
2017/05/02 Javascript
详解JavaScript中return的用法
2017/05/08 Javascript
js 监控iframe URL的变化实例代码
2017/07/12 Javascript
vue2.0 axios跨域并渲染的问题解决方法
2018/03/08 Javascript
Angular5中状态管理的实现
2018/09/03 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
详解关于element el-button使用$attrs的一个注意要点
2018/11/09 Javascript
JS/HTML5游戏常用算法之碰撞检测 地图格子算法实例详解
2018/12/12 Javascript
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
2019/09/01 Javascript
vue中使用GraphQL的实例代码
2019/11/04 Javascript
Javascript原生ajax请求代码实例
2020/02/20 Javascript
javascript 内存模型实例详解
2020/04/18 Javascript
JS实现时间校验的代码
2020/05/25 Javascript
JavaScript使用setTimeout实现倒计时效果
2021/02/19 Javascript
python实现保存网页到本地示例
2014/03/16 Python
wxPython学习之主框架实例
2014/09/28 Python
python2.7使用plotly绘制本地散点图和折线图
2019/04/02 Python
浅析PEP572: 海象运算符
2019/10/15 Python
django和flask哪个值得研究学习
2020/07/31 Python
深入CSS3 动画效果的总结详解
2013/05/09 HTML / CSS
华为俄罗斯官方网上商城:购买Huawei手机和平板
2017/04/21 全球购物
军训自我鉴定100字
2014/02/13 职场文书
公务员党员评议表自我鉴定
2014/09/14 职场文书
2014学生会工作总结报告
2014/12/02 职场文书
如何利用STAR法则制作留学文书?
2019/08/26 职场文书
详解Html5项目适配系统深色模式方案总结
2021/04/14 HTML / CSS