写这篇文章的时候先说一下原因:
webpack:现在很流行的打包工具;推荐原因:学习成本比gulp,fis3等简单,就是这么直接!
vue:国人开发的MVVM框架,一点都不逊于recat,vue2.0的执行速度比recat都快!推荐原因:http://www.cnblogs.com/terry0…这里很权威。但我们今天学的是vue1.0,原因:vue2.0我还不会(^_^)!而且新手还是vue1.0学习为主吧。原因:中文文档全,学习曲线简单,很容易上手。
课程开始:
需要技能:
1>.node.js环境
2>.npm 会使用 (我的笔记中有smart-npm可以解决npm慢的问题)
3>.vue 最基本的{{}}符号会用(不会的去vue官网看5分钟教程就会)
4>.ES6 基本知道import是什么东西就行
适用学习人群:用过vue,但不知道如何和webpack一起结合使用的迷茫者;
项目创建
这里已经安装过nodejs,npm,webpack
1.用命令行工具进入你需要创建模板文件夹输入:
$ mkdir myvuetest
$ cd myvuetest
$ npm init
你会发现文件中出现了package.json暂时不用管;
2.在项目目录下新建index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Vue example</title>
</head>
<body>
<div>{{message}}</div>
<script src="dist/build.js"></script>
</body>
</html>
3.在根目录创建src文件夹,并在该文件夹下建立main.js
import Vue from 'vue'
new Vue({
el:'body',
data:{
message:'test success!'
}
});
设置webpack
1.安装webpack,webpack-dev-server以及相关的loaders
# 全局安装webpack,webpack-dev-server,全局安装因为其他项目也会使用到这两个包
$ npm install -g webpack
$ npm install -g webpack-dev-server
# 为项目安装其他依赖 下面i是install的简写,注意vue@1.0是安装vue1.0版本的不然会出错;-D是--save-dev的简写,用于生成package.json中对应的包名称,便于日后管理
$ npm i webpack-merge css-loader style-loader file-loader url-loader babel-core babel-loader babel-plugin-transform-runtime babel-preset-es2015 babel-preset-stage-0 babel-runtime vue@1.0 vue-loader vue-html-loader vue-style-loader vue-hot-reload-api -D
这里解释一部分包的作用:
webpack-dev-server: 用户建立node的服务器环境,就是可以用lacalhost:8080等端口方式浏览文件
webpack-merge:开发环境和生产环节的webpaak配置文件的配置合并
css-loader:编译写入css
style-loader:把编译后的css整合进html
file-loader:编译写入文件,默认情况下生成文件的文件名是文件名与MD5哈希值的组合
vue:vue主程序
vue-laoder:编译写入.vue文件
vue-html-loader:编译vue的template部分
vue-style-loader:编译vue的样式部分
vue-hot-reload-api:webpack对vue实现热替换
babel-core:ES2015编译核心<br/>
babel-loader:编译写入ES2015文档
babel-preset-es2015:ES2015语法
babel-preset-stage-0:开启测试功能
babel-runtime:babel执行环境
2.配置webpack.config.js
在根目录下建立webpack.config.js,配置如下:
var path = require('path');
module.exports = {
entry: './src/main.js',
//定义webpack输出的文件,这里设置了让打包后生成的文件放在dist文件夹下的build.js文件中
output: {
path: './dist',
publicPath:'dist/',
filename: 'build.js'
},
module: {
loaders: [
//转化ES6语法
{
test: /\.js$/,
loader: 'babel',
exclude: /node_modules/
},
//图片转化,小于8K自动转化为base64的编码
{
test: /\.(png|jpg|gif)$/,
loader:'url-loader?limit=8192'
}
]
},
//这里用于安装babel,如果在根目录下的.babelrc配置了,这里就不写了
babel: {
presets: ['es2015','stage-0'],
plugins: ['transform-runtime']
}
}
完成该配置我们在命令中运行:
$ webpack
打开index.html就可以看到浏览器中看到我们刚刚写的文字了。
后续总结:在学习打包工具过程中由于出现的问题各种蛋疼,让很多人都半途而废。我经历了半途而废又重新捡起来,搜别人的问题解决自己的问题,然后就慢慢学会了。大家互相学习共同进步!本节讲的都是很基础的东西,自己可以延展一下。还有我推荐的是webpack+ES6+vue的新手学习模式!这样你就不会被互联网技术淘汰!可以关注我,我这个人挺懒的很久才写一篇,但都是用最基础的讲通大家学习的疑惑!值得关注哦!^_^