使用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 相关文章推荐
创建、调用JavaScript对象的方法集锦
Dec 24 Javascript
JavaScript中常用的六种互动方法示例
Mar 13 Javascript
详述JavaScript实现继承的几种方式(推荐)
Mar 22 Javascript
JavaScript记录光标在编辑器中位置的实现方法
Apr 22 Javascript
jQuery插件简单学习实例教程
Jul 01 Javascript
AngularJS 过滤器的简单实例
Jul 27 Javascript
AngularJS过滤器filter用法总结
Dec 13 Javascript
详解react-router如何实现按需加载
Jun 15 Javascript
微信小程序form表单组件示例代码
Jul 15 Javascript
vue-music 使用better-scroll遇到轮播图不能自动轮播问题
Dec 03 Javascript
微信小程序实现语音识别转文字功能及遇到的坑
Aug 02 Javascript
npm 语义版本控制详解
Sep 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
PHP逐行输出(ob_flush与flush的组合)
2012/02/04 PHP
关于file_get_contents返回为空或函数不可用的解决方案
2013/06/24 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
2017/02/17 PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
2018/05/24 PHP
jquery实现简单的拖拽效果实例兼容所有主流浏览器
2013/06/21 Javascript
Jquery中给animation加更多的运作效果实例
2013/09/05 Javascript
写得不错的jquery table鼠标经过变色代码
2013/09/27 Javascript
利用JS判断用户是否上网(连接网络)
2013/12/23 Javascript
javascript中if和switch,==和===详解
2015/07/30 Javascript
微信小程序 animation API详解及实例代码
2016/10/08 Javascript
JS实现前端页面的搜索功能
2018/06/12 Javascript
js数组相减简单示例【删除a数组所有与b数组相同元素】
2020/03/04 Javascript
解决vue安装less报错Failed to compile with 1 errors的问题
2020/10/22 Javascript
[01:28]一分钟告诉你DOTA2 TI9不朽宝藏Ⅱ中有什么!
2019/07/09 DOTA
[46:55]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python list排序的两种方法及实例讲解
2017/03/20 Python
Python编程之微信推送模板消息功能示例
2017/08/21 Python
PyQt5组件读取参数的实例
2019/06/25 Python
python绘制直方图和密度图的实例
2019/07/08 Python
Python tkinter三种布局实例详解
2020/01/06 Python
python实现简单俄罗斯方块
2020/03/13 Python
Python爬虫之Selenium实现关闭浏览器
2020/12/04 Python
python中pivot()函数基础知识点
2021/01/03 Python
HTML5触摸事件实现移动端简易进度条的实现方法
2018/05/04 HTML / CSS
英国领先的野生鸟类食品供应商:GardenBird
2018/08/09 全球购物
英国女性时尚鞋类的潮流制造者:Koi Footwear
2018/10/19 全球购物
丝芙兰加拿大官方网站:SEPHORA加拿大
2018/11/20 全球购物
软件生产职位结构化面试主要考察要素及面试题库
2015/06/12 面试题
深圳茁壮笔试题
2015/05/28 面试题
小学数学国培感言
2014/03/10 职场文书
2015年学生会主席工作总结
2015/04/21 职场文书
结婚主持人致辞
2015/07/28 职场文书
《烈火英雄》观后感:致敬和平时代的英雄
2019/11/11 职场文书
SQL SERVER中常用日期函数的具体使用
2021/04/08 SQL Server
探讨Java中的深浅拷贝问题
2021/06/26 Java/Android