详解用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 相关文章推荐
InnerHtml和InnerText的区别分析
Mar 13 Javascript
js form 验证函数 当前比较流行的错误提示
Jun 23 Javascript
js 文件引入实现代码
Apr 23 Javascript
js 弹出新页面避免被浏览器、ad拦截的一种新方法
Apr 30 Javascript
jQuery对val和atrr(&quot;value&quot;)赋值的区别介绍
Sep 26 Javascript
Bootstrap栅格系统的使用和理解2
Dec 14 Javascript
Vue2.0如何发布项目实战
Jul 27 Javascript
JS+CSS实现网页加载中的动画效果
Oct 27 Javascript
浅谈React Native Flexbox布局(小结)
Jan 08 Javascript
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
Jan 23 Javascript
python虚拟环境 virtualenv的简单使用
Jan 21 Javascript
vue 获取元素额外生成的data-v-xxx操作
Sep 09 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
咖啡与牛奶
2021/03/03 冲泡冲煮
Discuz 5.0 中读取纯真IP数据库函数分析
2007/03/16 PHP
全新的PDO数据库操作类php版(仅适用Mysql)
2012/07/22 PHP
PHP实现一维数组与二维数组去重功能示例
2018/05/24 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
2018/06/16 PHP
php7性能提升的原因详解
2019/10/13 PHP
jquery组件使用中遇到的问题整理及解决
2014/02/21 Javascript
jquery实现人性化的有选择性禁用鼠标右键
2014/06/30 Javascript
详解js跨域原理以及2种解决方案
2015/12/09 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
2016/06/29 Javascript
简单学习vue指令directive
2016/11/03 Javascript
jquery对象与DOM对象转化
2017/02/08 Javascript
Vuex的基本概念、项目搭建以及入坑点
2018/11/04 Javascript
微信小程序 搜索框组件代码实例
2019/09/06 Javascript
[01:07]2015国际邀请赛 中国区预选赛精彩回顾
2015/06/15 DOTA
[54:28]EG vs OG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
python中global用法实例分析
2015/04/30 Python
在Django的form中使用CSS进行设计的方法
2015/07/18 Python
Pyhton中单行和多行注释的使用方法及规范
2016/10/11 Python
tensorflow建立一个简单的神经网络的方法
2018/02/10 Python
python正则实现提取电话功能
2018/02/24 Python
Python3实现的简单验证码识别功能示例
2018/05/02 Python
简单了解django索引的相关知识
2019/07/17 Python
Python3爬虫里关于Splash负载均衡配置详解
2020/07/10 Python
CSS3只让背景图片旋转180度的实现示例
2021/03/09 HTML / CSS
银行营业厅大堂经理岗位职责
2014/01/06 职场文书
青年创业培训欢迎词
2014/01/08 职场文书
童装店创业计划书
2014/01/09 职场文书
教师个人鉴定材料
2014/02/08 职场文书
竞赛口号大全
2014/06/16 职场文书
四风问题民主生活会对照检查材料思想汇报
2014/09/27 职场文书
党员群众路线教育实践活动学习笔记
2014/11/05 职场文书
2015年宣传思想工作总结
2015/05/22 职场文书
招商银行工作证明
2015/06/17 职场文书
JavaScript中关于预编译、作用域链和闭包的理解
2021/03/31 Javascript
Django路由层如何获取正确的url
2021/07/15 Python