详解用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 相关文章推荐
jquery的trigger和triggerHandler的区别示例介绍
Apr 20 Javascript
jQuery操作元素css样式的三种方法
Jun 04 Javascript
JavaScript中的object转换成number或string规则介绍
Dec 31 Javascript
JavaScript中使用Callback控制流程介绍
Mar 16 Javascript
js去除浏览器默认底图的方法
Jun 08 Javascript
jquery dataTable 后台加载数据并分页实例代码
Jun 07 jQuery
webpack实现热加载自动刷新的方法
Jul 30 Javascript
元素全屏的设置与监听实例
Nov 28 Javascript
vue利用axios来完成数据的交互
Mar 23 Javascript
详解JavaScript中typeof与instanceof用法
Oct 24 Javascript
详解Webstorm 下的Angular2.0开发之路(图文)
Dec 06 Javascript
详解async/await 异步应用的常用场景
May 13 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中模拟POST传递数据的两种方法分享
2011/09/16 PHP
Laravel实现自定义错误输出内容的方法
2016/10/10 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
PHP实现的服务器一致性hash分布算法示例
2018/08/09 PHP
php与阿里云短信接口接入操作案例分析
2020/05/27 PHP
自制基于jQuery的智能提示插件一枚
2011/02/18 Javascript
使用jQuery实现的掷色子游戏动画效果
2014/03/14 Javascript
JS+CSS实现带小三角指引的滑动门效果
2015/09/22 Javascript
HTML5 JS压缩图片并获取图片BASE64编码上传
2020/11/16 Javascript
nodejs制作爬虫实现批量下载图片
2017/05/19 NodeJs
thinkjs 文件上传功能实例代码
2017/11/08 Javascript
React 组件转 Vue 组件的命令写法
2018/02/28 Javascript
快速解决处理后台返回json数据格式的问题
2018/08/07 Javascript
详解iview的checkbox多选框全选时校验问题
2019/06/10 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
vue打开子组件弹窗都刷新功能的实现
2020/09/21 Javascript
Python转码问题的解决方法
2008/10/07 Python
基于python的Tkinter编写登陆注册界面
2017/06/30 Python
Django Aggregation聚合使用方法解析
2019/08/01 Python
Python列表解析操作实例总结
2020/02/26 Python
Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
2020/06/14 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
css3进阶之less实现星空动画的示例代码
2019/09/10 HTML / CSS
有趣的流行文化T恤、马克杯、手机壳和更多:Look Human
2019/01/07 全球购物
微软马来西亚官方网站:Microsoft马来西亚
2019/11/22 全球购物
数据库方面面试题
2012/04/22 面试题
物业管理专业个人的自我评价
2013/11/19 职场文书
建筑总经理岗位职责
2014/02/02 职场文书
万年牢教学反思
2014/02/15 职场文书
大学四年个人的自我评价
2014/02/26 职场文书
班风学风建设方案
2014/05/06 职场文书
见习报告怎么写
2014/10/31 职场文书
有关信念的名言语录集锦
2019/12/06 职场文书
html5调用摄像头实例代码
2021/06/28 HTML / CSS
MySQL创建管理RANGE分区
2022/04/13 MySQL