使用vue-cli打包过程中的步骤以及问题的解决


Posted in Javascript onMay 08, 2018

1、打包命令是npm run build,这个命令实际上是在package.json中,scripts中build所对应的命令;

使用vue-cli打包过程中的步骤以及问题的解决

2、创建一个prod.server.js,这个文件不是必须的,这个文件的用处是在打包完毕之后,通过启动node.js本地服务来访问打包完成的静态文件,不需要的同学可以忽略这一点,

prod.server.js文件代码示例:

let express = require('express');
let config = require('./config/index');
// let axios = require('axios');
let app = express();
let apiRoutes = express.Router();
app.use('/api', apiRoutes);
app.use(express.static('./dist'));

let port = process.env.PORT || config.build.port;
module.exports = app.listen(port, (err) => {
 if (err){
  console.error(err);
  return;
 }
 console.log('Listening at: http://localhost:'+port+'\n');
});

3、在index.html中使用scrip标签引入的js和使用link引入的css文件,全部改为在main.js中直接import;我目前main.js的代码示例:

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import iView from 'iview'
import 'iview/dist/styles/iview.css'
import VueAwesomeSwiper from 'vue-awesome-swiper'
import MuseUI from 'muse-ui'
import 'muse-ui/dist/muse-ui.css'
import 'src/base/css/libs/museui/muse-ui-fonts.css'
import 'src/base/css/libs/museui/muse-ui-icons.css'
import VueResource from 'vue-resource'

import 'src/base/js/libs/waves/waves.min.js'
import 'src/base/css/libs/waves/waves.min.css'

import $ from 'jquery'

Vue.use(VueResource);
Vue.use(iView);
Vue.use(VueAwesomeSwiper);
Vue.use(MuseUI);

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
 el: '#app',
 router,
 template: '<App/>',
 components: { App }
})

4、图片的相对路径问题,要引用相对路径下的图片,首先是在在config/index.js中,将build.assetsPublicPath改为'',原来是'/',

使用vue-cli打包过程中的步骤以及问题的解决

在.vue文件中引用图片,如果是静态引用,直接写相对路径,如果是动态引用,需要这样写

静态引用,直接写相对路径:

<img src="../../base/img/home/me.jpg" class="round"/>

动态引用,需要require获取动态路径:

<img :src="logo" class="logo-img" @click="toggleMenu"/>
computed:{
 logo(){
  return require(`../../base/img/logo/logo${this.currentImg}.png`);
 }
}

同样的动态设置背景图片也需要动态获取文件路径;

<div id="app" :style="backgroundStyle">
 <s-homepage></s-homepage>
</div>
data() {
 return {
  backgroundStyle: {
   backgroundImage: `url("${require('./base/img/system/bg.jpg')}")`,
   backgroundRepeat: "no-repeat",
   backgroundSize: "100%",
  }
 }
}

5、使用iview开发的话,打包之后,直接打开index.html之后会报错,有两个字体文件引入失败,但是我这里是没有手动引入这两个文件的,最后百度到解决办法是,在webpack.prod.conf.js中设置module.rules中的extract为false;详情见这个issue:https://github.com/iview/iview/issues/515

使用vue-cli打包过程中的步骤以及问题的解决

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS调用页面表格导出excel示例代码
Mar 18 Javascript
Bootstrap 附加导航(Affix)插件实例详解
Jun 01 Javascript
angular route中使用resolve在uglify压缩后问题解决
Sep 21 Javascript
JS实现京东首页之页面顶部、Logo和搜索框功能
Jan 12 Javascript
JS中将多个逗号替换为一个逗号的实现代码
Jun 23 Javascript
Node.js使用MySQL连接池的方法实例
Feb 11 Javascript
vue全局组件与局部组件使用方法详解
Mar 29 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
Apr 28 Javascript
JavaScript Math对象和调试程序的方法分析
May 13 Javascript
微信小程序swiper组件实现抖音翻页切换视频功能的实例代码
Jun 24 Javascript
利用PHP实现递归删除链表元素的方法示例
Oct 23 Javascript
原生JavaScript实现购物车
Jan 10 Javascript
详解React-Router中Url参数改变页面不刷新的解决办法
May 08 #Javascript
angularjs实现的购物金额计算工具示例
May 08 #Javascript
Vue微信项目按需授权登录策略实践思路详解
May 07 #Javascript
Vue + better-scroll 实现移动端字母索引导航功能
May 07 #Javascript
node使用promise替代回调函数
May 07 #Javascript
node 使用 async 控制并发的方法
May 07 #Javascript
Angular 数据请求的实现方法
May 07 #Javascript
You might like
easyui的tabs update正确用法分享
2014/03/21 PHP
详解PHP匿名函数与注意事项
2016/03/29 PHP
php中照片旋转 (orientation) 问题的正确处理
2017/02/16 PHP
Django 中 cookie的使用
2017/08/17 PHP
js利用Array.splice实现Array的insert/remove
2009/01/13 Javascript
关于js datetime的那点事
2011/11/15 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
2014/01/07 Javascript
使用时间戳解决ie缓存的问题
2014/08/20 Javascript
判断字符串的长度(优化版)中文占两个字符
2014/10/30 Javascript
Javascript BOM学习小结(六)
2015/11/26 Javascript
使用Javascript监控前端相关数据的代码
2016/10/27 Javascript
jQuery 的 ready()的纯js替代方法
2016/11/20 Javascript
详解js前端代码异常监控
2017/01/11 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
基于vue实现swipe轮播组件实例代码
2017/05/24 Javascript
小程序实现人脸识别功能(百度ai)
2018/12/23 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
解决antd Form 表单校验方法无响应的问题
2020/10/27 Javascript
原生JS实现拖拽效果
2020/12/04 Javascript
Python第三方库的安装方法总结
2016/06/06 Python
Python语言描述机器学习之Logistic回归算法
2017/12/21 Python
python pandas修改列属性的方法详解
2018/06/09 Python
python随机数分布random均匀分布实例
2019/11/27 Python
python 实现字符串下标的输出功能
2020/02/13 Python
五分钟带你搞懂python 迭代器与生成器
2020/08/30 Python
学习Python需要哪些工具
2020/09/04 Python
python 基于opencv实现高斯平滑
2020/12/18 Python
CSS3 实现footer 固定在底部(无论页面多高始终在底部)
2019/10/15 HTML / CSS
N.Peal官网:来自伦敦的高档羊绒品牌
2018/10/29 全球购物
介绍一下gcc特性
2012/01/20 面试题
成人高等教育毕业生自我鉴定
2013/10/22 职场文书
小区消防演习方案
2014/02/21 职场文书
大学自主招生推荐信
2014/05/10 职场文书
七一慰问简报
2015/07/20 职场文书
2015国庆节感想
2015/08/04 职场文书
2019学生会干事辞职信
2019/06/27 职场文书