详解用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 相关文章推荐
jBox 2.3基于jquery的最新多功能对话框插件 常见使用问题解答
Nov 10 Javascript
JS中的prototype与面向对象的实例讲解
May 22 Javascript
jquery实现标签支持图文排列带上下箭头按钮的选项卡
Mar 14 Javascript
解析javascript图片懒加载与预加载的分析总结
Oct 27 Javascript
基于JS代码实现简单易用的倒计时 x 天 x 时 x 分 x 秒效果
Jul 13 Javascript
Vue AST源码解析第一篇
Jul 19 Javascript
JS实现获取汉字首字母拼音、全拼音及混拼音的方法
Nov 14 Javascript
jQuery+ajax读取json数据并按照价格排序示例
Mar 28 jQuery
Mac下安装vue
Apr 11 Javascript
小程序Scroll-view上拉滚动刷新数据
Jun 21 Javascript
vue中如何添加百度统计代码
Dec 19 Vue.js
微信小程序实现购物车小功能
Dec 30 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实现Javascript中的escape及unescape函数代码分享
2015/02/10 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
ExtJS Window 最小化的一种方法
2009/11/18 Javascript
一些mootools的学习资源
2010/02/07 Javascript
使用js正则控制input标签只允许输入的值
2013/07/29 Javascript
Js实现动态添加删除Table行示例
2014/04/14 Javascript
jquery浏览器滚动加载技术实现方案
2014/06/03 Javascript
jQuery中next方法用法实例
2015/04/24 Javascript
javascript的几种继承方法介绍
2016/03/22 Javascript
手机端 HTML5使用photoswipe.js仿微信朋友圈图片放大效果
2016/08/25 Javascript
JavaScript 继承详解(五)
2016/10/11 Javascript
vue和webpack安装命令详解
2018/06/15 Javascript
JS div匀速移动动画与变速移动动画代码实例
2019/03/26 Javascript
小程序封装路由文件和路由方法(5种全解析)
2019/05/26 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
[02:47]3.19DOTA2发布会 国服成长历程回顾
2014/03/25 DOTA
[11:12]2018DOTA2国际邀请赛寻真——绿色长城OpTic
2018/08/10 DOTA
Python中捕捉详细异常信息的代码示例
2014/09/18 Python
Python标准库之Sys模块使用详解
2015/05/23 Python
CentOS6.5设置Django开发环境
2016/10/13 Python
python之super的使用小结
2018/08/13 Python
python3.4控制用户输入与输出的方法
2018/10/17 Python
python利用插值法对折线进行平滑曲线处理
2018/12/25 Python
python在回调函数中获取返回值的方法
2019/02/22 Python
python多进程间通信代码实例
2019/09/30 Python
Python多线程正确用法实例解析
2020/05/30 Python
python 基于Apscheduler实现定时任务
2020/12/15 Python
英国网络托管和域名领导者:Web Hosting UK
2017/10/15 全球购物
香蕉共和国加拿大官网:Banana Republic加拿大
2018/08/06 全球购物
八年级生物教学反思
2014/01/22 职场文书
保护环境建议书400字
2014/05/13 职场文书
条幅标语大全
2014/06/20 职场文书
质检员工作总结2015
2015/04/25 职场文书
自我检讨书怎么写
2015/05/07 职场文书
车辆管理制度范本
2015/08/05 职场文书
HTML+VUE分页实现炫酷物联网大屏功能
2021/05/27 Vue.js