时间:2021-05-25
找了不少资料如何发布到服务器,然而还是没找到合适的可实际操作的文档。很多文档打着上线发布的标题,其实就是本地运行而已。其实vue2.0工程发布相当简单。
文章重点:
一、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;}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Vue2.0实现组件之间数据交互和通信操作。分享给大家供大家参考,具体如下:Vue2.0组件之间数据交互和通信。Vue2.0废弃了dispatch
关于vue2.0的事件发射和接收,大家都知道$dispatch和$broadcast在vue2.0已经被弃用了,取而代之的是更加方便快捷的方式,使用事件中心,组
今天,在写关于Vue2.0的代码中发现$key这个值并不能渲染成功,问题如下:结果这个对象的key值并不能够显示:后来查阅了文档才知道,这是因为在Vue2.0中
本文实例讲述了vue2.0实现的tab标签切换效果。分享给大家供大家参考,具体如下:这里利用vue2.0实现tab标签切换效果比较实用初学vue,练习写了一个d
Vue.js1.0我们常使用vue-resource(官方ajax库),Vue2.0发布后作者宣告不再对vue-resource进行更新,推荐我们使用axios