Vue 项目打包 及上线

前言:

项目环境:

开发工具 Vs Code

本文演示项目由 vue-cli 脚手架创建的项目

Vue 2.0  创建项目

vue  init  webpack 项目名

vue init webpack my-project

Vue 3.0  创建项目

vue create 项目名

vue create my-project

Vue 2.0打包

1.  打开项目里面的README.md(或者在其他资料查看相关命令亦可)

# admin

> A Vue.js project

## Build Setup

``` bash
# install dependencies
npm install

# 启动项目
# serve with hot reload at localhost:8080
npm run dev

# 打包项目
# build for production with minification
npm run build

# build for production and view the bundle analyzer report
npm run build --report

# run unit tests
npm run unit

# run e2e tests
npm run e2e

# run all tests
npm test
```

2.  项目结构

3.  打开终端,进入到你项目的根目录下

输入打包命令,等待打包完成

npm run build

打包完成

4.  查看生成的 dist 文件

 

此时 打开的 index.html 文件是空白的,原因是资源的路径问题

页面空白解决方法

1.  找到 config目录下的  index.js 文件

2.  将里面的内容修改为如下:

其实就是在路径前面 加上    ./

./  当前目录    ../    上一级目录

3. 再次打包后打开index.html文件

页面出来了,但是静态资源(例如背景图)没出来。

4.  修改配置文件,解决图片显示不出来

在 utils.js 里面添加如下代码:

publicPath: '../../'

修改之后的效果:

另外,我有碰到过修改配置之后,背景图能够显示,但是html标签不显示。查找之后发现是透明度的问题。

在样式中,我使用了透明度 

 opacity: 92%;

这样的使用方式,在打包之前是可以使用的,打包之后检查却发现莫名变成了  1%。

解决办法:

修改为小数即可。

 

Vue 3.0 打包

1.  打开项目里面的README.md

# order_admin

## Project setup
# 安装第三方库(插件)
```
npm install
```

# 启动项目
### Compiles and hot-reloads for development
```
npm run serve
```
# 打包项目
### Compiles and minifies for production
```
npm run build
```

### Lints and fixes files
```
npm run lint
```

### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).

2.  项目结构

vue 3.0 没有 build 、config 文件夹

3.  在项目的根目录下创建  vue.config.js文件    根目录 根目录 根目录!!!!

内容如下:

module.exports = {
    publicPath: process.env.NODE_ENV === 'production'  // 打包环境
    //   ? '/production-sub-path/'
       ? './' 
       : '/',
         
    // 相对路径
    // baseUrl: './',   --这里必须注释掉,否则会报错,某位博主这里是需要的,但是我在打包过程中是不行的。
    // 输出文件目录 
    outputDir: 'order_admin',    //修改为你自己的项目名
    // eslint-loader 是否在保存的时候检查
    lintOnSave: false, //关闭eslint
    // use the full build with in-browser compiler?
    // https://vuejs.org/v2/guide/installation.html#Runtime-Compiler-vs-Runtime-only
    // compiler: false,
    // webpack配置
    // see https://github.com/vuejs/vue-cli/blob/dev/docs/webpack.md
    chainWebpack: () => {},
    configureWebpack: () => {},
    // vue-loader 配置项
    // https://vue-loader.vuejs.org/en/options.html
    // vueLoader: {},
    // 生产环境是否生成 sourceMap 文件
    productionSourceMap: false,//代码可读性
    // css相关配置
    css: {
     // 是否使用css分离插件 ExtractTextPlugin
     extract: true,
     // 开启 CSS source maps?
     sourceMap: false,
     // css预设器配置项
     loaderOptions: {},
     // 启用 CSS modules for all css / pre-processor files.
     modules: false
    },
    // use thread-loader for babel & TS in production build
    // enabled by default if the machine has more than 1 cores
    parallel: require('os').cpus().length > 1,
    // 是否启用dll
    // See https://github.com/vuejs/vue-cli/blob/dev/docs/cli-service.md#dll-mode
    // dll: false,
    // PWA 插件相关配置
    // see https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-pwa
    pwa: {},
    // webpack-dev-server 相关配置
    devServer: {
      open: process.platform === 'darwin',
      host: '0.0.0.0',
      port: 8080,
      https: false,
      hotOnly: false,
      proxy: null, // 设置代理
      before: app => {}
     },
    // 第三方插件配置
    pluginOptions: {
     // ...
    }
   }

4.  执行打包命令

npm run build

打包之后会多出一个文件夹

打开index.html 后发现页面还是空白。

分析原因:

1.   静态资源找不到

2.   路由问题

我在打包过程中,没有遇到静态资源找不到的情况。所以考虑路由问题,为了方便,我们不修改后台代码。

解决方法

找到 router文件下的 index.js文件,就是平时配置路由的文件

可选值: “hash” | “history” | “abstract”

将  mode : 'history'  修改为   mode: 'hash'  即可

5.  配置好之后重新打包即可。

以上就是关于 vue 打包。接下来以 Tomcat 9 为例,上传项目。

将打包好的项目文件夹复制到 Tomcat 下一个叫 webapps下即可。

启动Tomcat,在浏览器访问。

 

Windows 到Tomcat 官网下载解压即可使用。

Ubuntu 安装 Tomcat 9:

https://blog.csdn.net/LZW15082682930/article/details/113760086?spm=1001.2014.3001.5501

至此,vue 打包讲解完成,如果有其他的打包方式,欢迎大家交流学习。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值