详解关于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 相关文章推荐
DOM 脚本编程中的兄弟节点
Oct 31 Javascript
文本框的字数限制功能jquery插件
Nov 24 Javascript
ExtJS Ext.MessageBox.alert()弹出对话框详解
Apr 02 Javascript
jQueryUI的Dialog的简单封装
Jun 07 Javascript
用JS在浏览器中创建下载文件
Mar 05 Javascript
js函数名与form表单元素同名冲突的问题
Mar 07 Javascript
jquery插件开发之实现google+圈子选择功能
Mar 10 Javascript
使用prop解决一个checkbox选中后再次选中失效的问题
Jul 05 Javascript
webpack构建换肤功能的思路详解
Nov 27 Javascript
webpack4 处理CSS的方法示例
Sep 03 Javascript
Vue.js实现大屏数字滚动翻转效果
Nov 29 Javascript
浅谈鸿蒙 JavaScript GUI 技术栈
Sep 17 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 危险函数解释 分析
2009/04/22 PHP
php 数组排序 array_multisort与uasort的区别
2011/03/24 PHP
PHP实现今天是星期几的几种写法
2013/09/26 PHP
php switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
PHP实现多图上传(结合uploadify插件)思路分析
2016/11/30 PHP
Laravel框架实现利用监听器进行sql语句记录功能
2018/06/06 PHP
js树形控件脚本代码
2008/07/24 Javascript
Fastest way to build an HTML string(拼装html字符串的最快方法)
2011/08/20 Javascript
jquery处理json对象
2014/11/03 Javascript
jQuery添加和删除输入文本框标签代码
2016/05/20 Javascript
动态加载js、css的简单实现代码
2016/05/26 Javascript
Vue.js每天必学之指令系统与自定义指令
2016/09/07 Javascript
vue实现全选、反选功能
2020/11/17 Javascript
ionic grid(栅格)九宫格制作详解
2018/06/30 Javascript
vuex 中插件的编写案例解析
2019/06/10 Javascript
vue 项目打包时样式及背景图片路径找不到的解决方式
2019/11/12 Javascript
js判断在哪个浏览器打开项目的方法
2020/01/21 Javascript
python学习手册中的python多态示例代码
2014/01/21 Python
Python计算字符宽度的方法
2016/06/14 Python
Python中Selenium模拟JQuery滑动解锁实例
2017/07/26 Python
浅谈Python脚本开头及导包注释自动添加方法
2018/10/27 Python
对python函数签名的方法详解
2019/01/22 Python
利用Python进行图像的加法,图像混合(附代码)
2019/07/14 Python
python动态视频下载器的实现方法
2019/09/16 Python
Python倒排索引之查找包含某主题或单词的文件
2019/11/13 Python
在html页面中取得session中的值的方法
2020/08/11 HTML / CSS
布鲁明戴尔百货店:Bloomingdale’s
2016/12/21 全球购物
SIXPAD智能健身仪英国官网:革命性的训练装备品牌
2018/09/27 全球购物
应届生程序员求职信
2013/11/05 职场文书
校三好学生主要事迹
2014/01/11 职场文书
如何撰写岗位职责
2014/02/01 职场文书
小学作文评语大全
2014/04/21 职场文书
医疗专业毕业生求职信
2014/08/28 职场文书
销售简历自我评价怎么写
2014/09/26 职场文书
文明班级申报材料
2014/12/24 职场文书
校园歌手大赛主持词
2015/07/03 职场文书