# vue1-webpack1-set
**Repository Path**: gjycdd/vue1-webpack1-set
## Basic Information
- **Project Name**: vue1-webpack1-set
- **Description**: 简单的vue1+webpack1+vue-router1的环境搭建教程
- **Primary Language**: Unknown
- **License**: GPL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2017-03-03
- **Last Updated**: 2020-12-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# vue1+webpack1+vue-router1环境搭建(新手向,老司机勿喷)
## 目录
* [前言](#前言)
* 准备工作
- [安装node](#安装node)
* 正式开始
- [初始化](#初始化)
- [安装基础包](#安装基础包)
- [构建目录结构](#构建目录结构)
- [初步配置webpack](#初步配置webpack)
- [搭建vue页面](#搭建vue页面)
- [配置路由](#配置路由)
- [配置入口文件](#配置入口文件)
- [配置App.vue和index.html](#配置appvue和indexhtml)
- [配置loader](#配置loader)
* [结束语](#结束语)
* [特别鸣谢](#特别鸣谢)
## 前言
> 很多新手在刚接触的时候会感觉到vue-cli会非常好用,的确非常好用,我也是新手,但是这是一个先甜后苦的过程。日后当我们需要对现有项目进行维护配置的时候,却会发现官方给的cli我们随意乱改也许会出错,并且各种各样的语句我们也并不能看懂。当我们想自己配置一个vue+webpack的环境时往往苦于版本或者各种各样的问题难以实现,所以我想通过这个教程来为想自食其力的新手们同胞们抛砖引玉。
#### [return top](#目录)
## 准备工作
### 安装node
首先安装nodejs以获取npm包管理器
>下载地址 https://nodejs.org/en/
>安装方法使用next安装法,在这里我就不赘述了。
当你安装好node,那么恭喜你,你也同时安装了npm包管理器。
如果你觉得npm在国内来说不太友好,那么我推荐你使用以下方法:
>安装cnpm淘宝镜像 传送门(http://npm.taobao.org/)
> 安装yarn 传送门(https://yarnpkg.com/zh-Hans/docs/install#windows-tab)
#### [return top](#目录)
## 正式开始
### 初始化
>利用npm初始化package.json,来管理安装的包
`npm init`
可以对项目进行定义
#### [return top](#目录)
### 安装基础包
#### 安装vue1
`npm install vue@1 --save-dev`
#### 安装vue-loader
`npm install vue-loader@8.7.0 --save-dev`
>安装结束后可能会提示缺少某些包,没关系,按照提示全部安装一遍或者暂时忽略稍后安装也是可行的。
> 值得注意的是 __vue-loader__ 大于10.0.0的版本和小于 10.0.0的版本在后续安装依赖插件是有区别的,如果安装错误版本可能会出现 **cannot read property 'indexOf' of undefined**
#### 安装vue-router
`npm install vue-router@0.7.13 --save-dev`
>__vue-router2与1有着极大的差别,请各位注意__
#### 安装webpack1
`npm install webpack@1 --save-dev`
#### 安装webpack-dev-server
`npm install webpack-dev-server --save-dev`
>安装webpack热加载模块( __轻量级的express服务器便于调试__ ),修改文件实时刷新网页,免除修改一次代码就要重新打包刷新网页的麻烦
#### [return top](#目录)
### 构建目录结构
>
| --- package.json //包管理文件
> | --- index.html // 启动页
> | --- webpack.config.js // webpack配置文件
> | --- src
> | --- App.vue //项目的入口页面
> | --- main.js //项目的入口js
> | --- router.js //项目的router配置文件
> | --- components //各个组件文件夹
> | --- views //各个vue存放的文件夹
#### [return top](#目录)
### 初步配置webpack
#### 配置入口
module.exports = {
entry: './src/main.js'
}
#### 配置热加载
>在package.json中进行配置
"scripts": {
"dev": "webpack-dev-server --inline --hot --open"
}
>在以上配置保存后可以打开命令行(win+r)或者你的git工具到项目跟目录下运行 `npm run dev`
>访问 **localhost:8080**(提前在index.html中写入内容确认是否成功)
#### [return top](#目录)
### 搭建vue页面
#### 在搭建vue页面之前我们来学习一下vue文件的结构(老司机请自动忽略)
//请务必记住template内一般只允许存在一个节点
#### 我们需要在views下搭建两个vue页面,为接下来router的配置做准备
This is {{pageName}} page
>相似的我们再创建一个test页面
#### [return top](#目录)
### 配置路由
>在vue-router1中我们需要调用router.map({})配置路由(在2.x版本中已经有更简单的方法了),为了方便后期维护我们将map单独的抽取到router.js中,在外部我们需要使用的时候就调用require('./router')(router)。需要文档的小伙伴可以戳这里( [vue-router@1.x官方文档](https://github.com/vuejs/vue-router/tree/1.0/docs/zh-cn) )
module.exports = function (router) {
router.map({
'/': {
name: 'home',
component: require('./views/home.vue')
}
})
}
#### [return top](#目录)
### 配置入口文件
>在main.js中我们需要这么配置
import Vue from 'vue';
import VueRouter from 'vue-router';
var App = require('./App.vue');
Vue.use(VueRouter);
var router = new VueRouter();
require('./router')(router);
router.start(App, '#app');
#### [return top](#目录)
### 配置App.vue和index.html
#### App.vue
#### index.html
#### [return top](#目录)
### 配置loader
>在配置之前我们需要安装一些缺少的package
npm install babel-core --save-dev
npm install babel-loader --save-dev
npm install babel-plugin-transform-runtime --save-dev
npm install babel-preset-es2015 --save-dev
npm install vue-hot-reload-api@1.3.3 --save-dev
npm install vue-html-loader@1.2.4 --save-dev
npm install vue-style-loader --save-dev
npm install css-loader --save-dev
>这些包安装好以后我们就可以开始配置webpack.config.js文件了
#### webpack.config.js
var path = require('path');
module.exports = {
entry: './src/main.js',
output: {
path: path.resolve(__dirname, './dist'),
publicPath: '/dist/',
filename: 'build.js'
},
module: {
loaders: [
{
test: /\.vue$/, //解析vue文件
loader: 'vue'
},{
test: /\.css$/, //配置以保证外部css文件的加载
loader: 'vue-style!css'
},
{
test: /\.js$/, //使得webpack能够将es6的语法转换成es5
loader: "babel-loader?presets[]=es2015&plugins[]=transform-runtime&comments=false",
exclude: /node_modules/
}
]
}
}
>现在我们可以放心的`npm run dev`了
#### [return top](#目录)
## 结束语
>这个教程是根据我自己亲身配置得出的,其中踩了不少坑,希望能因为这个教程让新手们少踩点坑,愉快的自食其力。
> 当然我的教程还没有完全配置完成,例如sass等预编译语言的配置,还有图片加载的url-loader的配置,但是这些配置总的来说大同小异,所以我就不一一赘述了,希望能够帮到你。
> Thanks
#### [return top](#目录)
## 特别鸣谢
[简单的vue1环境自我搭建](http://www.qinshenxue.com/article/20160806114423.html)
#### [return top](#目录)