详解用webpack2.0构建vue2.0超详细精简版


Posted in Javascript onApril 05, 2017

npm init -y 初始化项目

安装各种依赖项

npm install --save vue 安装vue2.0

npm install --save-dev webpack@^2.1.0-beta.25 webpack-dev-server@^2.1.0-beta.9 安装webpack以及webpack测试服务器,默认安装是1.0版本的,所以必须指定版本号

npm install --save-dev babel-core babel-loader babel-preset-es2015 安装babel,一般的浏览器是不认识es6语法的,babel的作用是将es6的语法编译成浏览器认识的语法

npm install --save-dev vue-loader vue-template-compiler 用来解析vue的组件,.vue后缀的文件

npm install --save-dev css-loader file-loader 用来解析css

编写页面

新建目录src,里面新建App.vue

<!-- 简单写个title和一个循环 -->
<template>
  <div id="example">
    <h1>{{ msg }}</h1>
    <ul>
      <li v-for="n in 5">{{ n }}</li>
    </ul>
  </div>
</template>

<script>
export default {
  data () {
    return {
      msg: 'Hello World!'
    }
  }
}
</script>

<style scoped>
#example {
  background: red;
  height: 100vh;
}
</style>

在src目录下新建main.js

/* 引入vue和主页 */
import Vue from 'vue'
import App from './App.vue'

/* 实例化一个vue */
new Vue({
 el: '#app',
 render: h => h(App)
})

配置webpack

在根目录下新建webpack.config.js

/* 引入操作路径模块和webpack */
var path = require('path');
var webpack = require('webpack');

module.exports = {
  /* 输入文件 */
  entry: './src/main.js',
  output: {
    /* 输出目录,没有则新建 */
    path: path.resolve(__dirname, './dist'),
    /* 静态目录,可以直接从这里取文件 */
    publicPath: '/dist/',
    /* 文件名 */
    filename: 'build.js'
  },
  module: {
    rules: [
      /* 用来解析vue后缀的文件 */
      {
        test: /\.vue$/,
        loader: 'vue-loader'
      },
      /* 用babel来解析js文件并把es6的语法转换成浏览器认识的语法 */
      {
        test: /\.js$/,
        loader: 'babel-loader',
        /* 排除模块安装目录的文件 */
        exclude: /node_modules/
      }
    ]
  }
}

打包项目

npm install -g webpack@^2.1.0-beta.25 全局安装webpack,以便使用webpack命令

webpack 用webpack命令打包项目,这是目录下会多出一个dist文件夹,查看里面会有build.js,发觉里面的es6语法已经被转化了

最终项目目录如图所示

详解用webpack2.0构建vue2.0超详细精简版

在根目录下新建index.html,引入build.js

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">
<title>vue-webpack</title>
</head>
<body>
  <section id="app"></section>
  <script src="./dist/build.js"></script>
</body>
</html>

页面如图所示

详解用webpack2.0构建vue2.0超详细精简版

这样就算打包完成了,但是每修改一次都要重新打包这样显然没有任何效率,于是需要线上的热重载

npm install -g webpack-dev-server@^2.1.0-beta.9 全局安装webpack-dev-server,以便使用webpack-dev-server命令

webpack-dev-server 等待程序运行完毕

在浏览器输入http://localhost:8080/查看页面

这时修改页面的代码,不用刷新浏览器直接更改

详解用webpack2.0构建vue2.0超详细精简版

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

Javascript 相关文章推荐
发现的以前不知道的函数
Sep 19 Javascript
Javascript &amp; DHTML 实例编程(教程)(三)初级实例篇1—上传文件控件实例
Jun 02 Javascript
Mootools 1.2教程 滚动条(Slider)
Sep 15 Javascript
基于jQuery制作迷你背词汇工具
Jul 27 Javascript
浅析jQuery中常用的元素查找方法总结
Jul 04 Javascript
5分钟理解JavaScript中this用法分享
Nov 09 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
Feb 13 Javascript
Javascript将数值转换为金额格式(分隔千分位和自动增加小数点)
Jun 22 Javascript
javascript将中国数字格式转换成欧式数字格式的简单实例
Aug 02 Javascript
PHP自动加载autoload和命名空间的应用小结
Dec 01 Javascript
vue中英文切换实例代码
Jan 21 Javascript
解决Vue中使用keepAlive不缓存问题
Aug 04 Javascript
关于vuex的学习实践笔记
Apr 05 #Javascript
详解基于webpack和vue.js搭建开发环境
Apr 05 #Javascript
ionic2打包android时gradle无法下载的解决方法
Apr 05 #Javascript
使用gulp搭建本地服务器并实现模拟ajax
Apr 05 #Javascript
Vue.js render方法使用详解
Apr 05 #Javascript
self.attachevent is not a function的解决方法
Apr 04 #Javascript
Vue.js实战之通过监听滚动事件实现动态锚点
Apr 04 #Javascript
You might like
php Mysql日期和时间函数集合
2007/11/16 PHP
php 全文搜索和替换的实现代码
2008/07/29 PHP
PHP的简易冒泡法代码分享
2012/08/28 PHP
PHP实现图片旋转效果实例代码
2014/10/01 PHP
php源码分析之DZX1.5字符串截断函数cutstr用法
2015/06/17 PHP
php求今天、昨天、明天时间戳的简单实现方法
2016/07/28 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
JS 字符串连接[性能比较]
2009/05/10 Javascript
THREE.JS入门教程(3)着色器-下
2013/01/24 Javascript
javascript alert乱码的解决方法
2013/11/05 Javascript
NODE.JS加密模块CRYPTO常用方法介绍
2014/06/05 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
js 数字、字符串、布尔值的转换方法(必看)
2017/04/07 Javascript
Angular实现较为复杂的表格过滤,删除功能示例
2017/12/23 Javascript
vscode下的vue文件格式化问题
2018/11/28 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
2019/07/25 Javascript
layui table单元格事件修改值的方法
2019/09/24 Javascript
vue实现把接口单独存放在一个文件方式
2020/08/13 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
Openlayers学习之加载鹰眼控件
2020/09/28 Javascript
[53:10]Secret vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[01:31:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第二场 1月10日
2021/03/11 DOTA
python进行TCP端口扫描的实现
2018/12/21 Python
java中的控制结构(if,循环)详解
2019/06/26 Python
django admin 自定义替换change页面模板的方法
2019/08/23 Python
巴西购物网站:Estrela10
2018/12/13 全球购物
Zalando Lounge瑞士:时尚与生活方式购物俱乐部
2020/03/12 全球购物
请说出几个常用的异常类
2013/01/08 面试题
经典商业广告词
2014/03/13 职场文书
建筑公司员工自我鉴定
2014/04/08 职场文书
医院搬迁方案
2014/06/14 职场文书
领导班子党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
师德师风事迹材料
2014/12/20 职场文书
奖学金个人总结
2015/03/04 职场文书
家属联谊会致辞
2015/07/31 职场文书
大学生安全教育心得体会
2016/01/15 职场文书