使用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为空或不是对象问题的快速解决方法
Dec 11 Javascript
javascript中style.left和offsetLeft的用法说明
Mar 07 Javascript
JS实现简单的顶部定时关闭层效果
Jun 15 Javascript
JQuery仿小米手机抢购页面倒计时效果
Dec 16 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
Dec 07 Javascript
轻松掌握JavaScript代理模式
Aug 26 Javascript
jQuery实现的表格展开伸缩效果实例
Sep 07 Javascript
Bootstrap中点击按钮后变灰并显示加载中实例代码
Sep 23 Javascript
JS日期对象简单操作(获取当前年份、星期、时间)
Oct 26 Javascript
node.js利用redis数据库缓存数据的方法
Mar 01 Javascript
vue-cli 项目打包完成后运行文件路径报错问题
Jul 19 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
Oct 28 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
历史证明,懒惰才是推动科学发展技术进步的动力
2021/03/02 无线电
php对文件进行hash运算的方法
2015/04/03 PHP
php中删除、清空session的方式总结
2015/10/09 PHP
电子商务网站上的常用的js放大镜效果
2011/12/08 Javascript
jQuery如何取id有.的值一般的方法是取不到的
2014/04/18 Javascript
js漂浮广告实现代码
2015/08/15 Javascript
Bootstrap开发实战之第一次接触Bootstrap
2016/06/02 Javascript
关于List.ToArray()方法的效率测试
2016/09/30 Javascript
JQuery查找子元素find()和遍历集合each的方法总结
2017/03/07 Javascript
node中koa中间件机制详解
2017/08/22 Javascript
Node.Js生成比特币地址代码解析
2018/04/21 Javascript
vue实现个人信息查看和密码修改功能
2018/05/06 Javascript
JavaScript设计模式之命令模式实例分析
2019/01/16 Javascript
vue组件文档(.md)中如何自动导入示例(.vue)详解
2019/01/25 Javascript
js前端面试之同步与异步问题详解
2019/04/03 Javascript
express如何解决ajax跨域访问session失效问题详解
2019/06/20 Javascript
Layui 动态禁止select下拉的例子
2019/09/03 Javascript
解决vue elementUI 使用el-select 时 change事件的触发问题
2020/11/17 Vue.js
python利用rsa库做公钥解密的方法教程
2017/12/10 Python
python+pillow绘制矩阵盖尔圆简单实例
2018/01/16 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
python实现requests发送/上传多个文件的示例
2018/06/04 Python
python同步windows和linux文件
2019/08/29 Python
使用TensorFlow直接获取处理MNIST数据方式
2020/02/10 Python
pytorch实现CNN卷积神经网络
2020/02/19 Python
美国高端婴童品牌:Hanna Andersson
2016/10/30 全球购物
城野医生官方海外旗舰店:风靡亚洲毛孔收敛水
2018/04/26 全球购物
科颜氏英国官网:Kiehl’s英国
2019/11/20 全球购物
nohup的用法
2012/11/26 面试题
班组长的岗位职责
2013/12/09 职场文书
2015年元旦演讲稿
2014/09/12 职场文书
水利专业大学生职业生涯规划书范文
2014/09/17 职场文书
2015年团委副书记工作总结
2015/07/23 职场文书
django注册用邮箱发送验证码的实现
2021/04/18 Python
MySQL 表空间碎片的概念及相关问题解决
2021/05/07 MySQL
mybatis调用sqlserver存储过程返回结果集的方法
2021/05/08 SQL Server