详解用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 相关文章推荐
用javascript操作xml
Nov 04 Javascript
从阿里妈妈发现的几个不错的表单验证函数
Sep 21 Javascript
地震发生中逃生十大法则
May 12 Javascript
JQuery 无废话系列教程(二) jquery实战篇上
Jun 23 Javascript
jquery、js操作checkbox全选反选
Mar 12 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
Jun 09 Javascript
详解JavaScript逻辑And运算符
Dec 04 Javascript
JS动态给对象添加事件的简单方法
Jul 19 Javascript
vue轮播图插件vue-awesome-swiper
Nov 27 Javascript
你可能从未使用过的11+个JavaScript特性(小结)
Jan 08 Javascript
简单了解Vue + ElementUI后台管理模板
Apr 07 Javascript
解决Vue 给mapState中定义的属性赋值报错的问题
Jun 22 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
使用sockets:从新闻组中获取文章(一)
2006/10/09 PHP
php数据库抽象层 PDO
2011/05/07 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
2014/04/01 PHP
ThinkPHP5.1表单令牌Token失效问题的解决
2019/03/22 PHP
ExtJS 2.0 GridPanel基本表格简明教程
2010/05/25 Javascript
jQuery实现感应鼠标动画效果自动伸长的输入框实例
2015/02/24 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
2015/04/06 Javascript
PHP+jQuery+Ajax+Mysql如何实现发表心情功能
2015/08/06 Javascript
使用BootStrap实现标签切换原理解析
2017/03/14 Javascript
JS请求servlet功能示例
2017/06/01 Javascript
JQ图片文件上传之前预览功能的简单实例(分享)
2017/11/12 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
2018/01/26 Javascript
webstorm中配置nodejs环境及npm的实例
2018/05/15 NodeJs
vue实现分环境打包步骤(给不同的环境配置相对应的打包命令)
2019/06/04 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
微信小程序定义和调用全局变量globalData的实现
2019/11/01 Javascript
vue-resource post数据时碰到Django csrf问题的解决
2020/03/13 Javascript
JavaScript计算出两个数的差值
2020/03/19 Javascript
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
2014/10/23 Python
详解python之多进程和进程池(Processing库)
2017/06/09 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
2017/11/11 Python
python操作文件的参数整理
2019/06/11 Python
详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法
2019/07/06 Python
使用Pandas的Series方法绘制图像教程
2019/12/04 Python
Python模块 _winreg操作注册表
2020/02/05 Python
python requests包的request()函数中的参数-params和data的区别介绍
2020/05/05 Python
sklearn的predict_proba使用说明
2020/06/28 Python
详解CSS3伸缩布局盒模型Flex布局
2018/08/20 HTML / CSS
一款基于css3麻将筛子3D翻转特效的实例教程
2014/12/31 HTML / CSS
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
如何写出高性能的JSP和Servlet
2013/01/22 面试题
娱乐节目策划方案
2014/06/10 职场文书
学校四风问题对照检查材料思想汇报
2014/09/26 职场文书
婚礼迎宾词大全
2015/08/10 职场文书
Vue全家桶入门基础教程
2021/05/14 Vue.js
table设置超出部分隐藏,鼠标移上去显示全部内容的方法
2022/12/24 HTML / CSS