使用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 相关文章推荐
EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码
Oct 26 Javascript
IE6下CSS图片缓存问题解决方法
Dec 09 Javascript
jquery lazyload延迟加载技术的实现原理分析
Jan 24 Javascript
js 定位到某个锚点的方法
Nov 19 Javascript
JQuery.validationEngine表单验证插件(推荐)
Dec 10 Javascript
canvas绘制环形进度条
Feb 23 Javascript
js实现网页的两个input标签内的数值加减(示例代码)
Aug 15 Javascript
vue v-model动态生成详解
Jun 30 Javascript
使用layui的layer组件做弹出层的例子
Sep 27 Javascript
基于vue+element实现全局loading过程详解
Jul 10 Javascript
vue将文件/图片批量打包下载zip的教程
Oct 21 Javascript
在elementui中Notification组件添加点击事件实例
Nov 11 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
php用正则表达式匹配URL的简单方法
2013/11/12 PHP
php计算整个目录大小的方法
2015/06/01 PHP
Three.js源码阅读笔记(光照部分)
2012/12/27 Javascript
jquery提示效果实例分析
2014/11/25 Javascript
深入理解关于javascript中apply()和call()方法的区别
2016/04/12 Javascript
非常实用的js验证框架实现源码 附原理方法
2016/06/08 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
2016/06/14 Javascript
JavaScript中Array的实用操作技巧分享
2016/09/11 Javascript
详解node-ccap模块生成captcha验证码
2017/07/01 Javascript
利用JS做网页特效_大图轮播(实例讲解)
2017/08/09 Javascript
javascript 面向对象实战思想分享
2017/09/07 Javascript
js实现扫雷小程序的示例代码
2017/09/27 Javascript
jQuery中将json数据显示到页面表格的方法
2018/05/27 jQuery
使用Vue 自定义文件选择器组件的实例代码
2020/03/04 Javascript
使用next.js开发网址缩短服务的方法
2020/06/17 Javascript
[47:52]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第二场 11.26
2020/11/30 DOTA
python实现清屏的方法
2015/04/30 Python
python3调用R的示例代码
2018/02/23 Python
Python中Proxypool库的安装与配置
2018/10/19 Python
Python父目录、子目录的相互调用方法
2019/02/16 Python
Pyspark获取并处理RDD数据代码实例
2020/03/27 Python
详解pycharm配置python解释器的问题
2020/10/15 Python
CSS3制作漂亮的照片墙的实现代码
2016/06/08 HTML / CSS
allbeauty美国:英国在线美容店
2019/03/11 全球购物
行政人事岗位职责
2014/03/17 职场文书
银行内勤岗位职责
2014/04/09 职场文书
情人节寄语大全
2014/04/11 职场文书
2014银行授权委托书样本
2014/10/04 职场文书
迎国庆横幅标语
2014/10/08 职场文书
个人债务授权委托书
2014/10/17 职场文书
冰峪沟导游词
2015/02/09 职场文书
基于Python实现的购物商城管理系统
2021/04/27 Python
python基于tkinter制作下班倒计时工具
2021/04/28 Python
为什么MySQL选择Repeatable Read作为默认隔离级别
2021/07/26 MySQL
python多线程方法详解
2022/01/18 Python
浅谈MySQL中的六种日志
2022/03/23 MySQL