解锁webpack-----4.x

女爷i 2021-09-19 10:54 448阅读 0赞

## 在网页中会引用哪些常见的静态资源?
+ JS

  • .js .jsx .coffee .ts(TypeScript 类 C# 语言)
    + CSS
  • .css .less .sass .scss
    + Images
  • .jpg .png .gif .bmp .svg
    + 字体文件(Fonts)
  • .svg .ttf .eot .woff .woff2
    + 模板文件
  • .ejs .jade .vue【这是在webpack中定义组件的方式,推荐这么用】

## 网页中引入的静态资源多了以后有什么问题???

  1. 网页加载速度慢, 因为 我们要发起很多的二次请求;
  2. 要处理错综复杂的依赖关系

## 如何解决上述两个问题

  1. 合并、压缩、精灵图、图片的Base64编码
  2. 可以使用之前学过的requireJS、也可以使用webpack可以解决各个包之间的复杂依赖关系;

## 什么是webpack?
webpack 是前端的一个项目构建工具,它是基于 Node.js 开发出来的一个前端工具;

## 如何完美实现上述的2种解决方案

  1. 使用Gulp, 是基于 task 任务的;
  2. 使用Webpack, 是基于整个项目进行构建的;
    + 借助于webpack这个前端自动化构建工具,可以完美实现资源的合并、打包、压缩、混淆等诸多功能。
    + 根据官网的图片介绍webpack打包的过程
    + [webpack官网](http://webpack.github.io/)

## webpack安装的两种方式

  1. 运行`npm i webpack -g`全局安装webpack,这样就能在全局使用webpack的命令
  2. 在项目根目录中运行`npm i webpack —save-dev`安装到项目依赖中

## 初步使用webpack打包构建列表隔行变色案例

  1. 运行`npm init`初始化项目,使用npm管理项目中的依赖包
  2. 创建项目基本的目录结构
  3. 使用`cnpm i jquery —save`安装jquery类库
  4. 创建`main.js`并书写各行变色的代码逻辑:
    ```
    // 导入jquery类库
    import $ from ‘jquery’

    // 设置偶数行背景色,索引从0开始,0是偶数
    $(‘#list li:even’).css(‘backgroundColor’,’lightblue’);
    // 设置奇数行背景色
    $(‘#list li:odd’).css(‘backgroundColor’,’pink’);
    ```

  5. 直接在页面上引用`main.js`会报错,因为浏览器不认识`import`这种高级的JS语法,需要使用webpack进行处理,webpack默认会把这种高级的语法转换为低级的浏览器能识别的语法;
  6. 运行`webpack 入口文件路径 输出文件路径`对`main.js`进行处理:
    ```
    webpack src/js/main.js dist/bundle.js
    ```

贴代码

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4ODQ1ODU4_size_16_color_FFFFFF_t_70

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4ODQ1ODU4_size_16_color_FFFFFF_t_70 1

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4ODQ1ODU4_size_16_color_FFFFFF_t_70 2

总结webpack可以做什么:

1:能够处理js之间的依赖关系

2:能够处理js的兼容问题,把高级的js语法转化为低级的,浏览器可以识别的低级语法

## 使用webpack的配置文件简化打包时候的命令

  1. 在项目根目录中创建`webpack.config.js`
  2. 由于运行webpack命令的时候,webpack需要指定入口文件和输出文件的路径,所以,我们需要在`webpack.config.js`中配置这两个路径:
    ```
    // 导入处理路径的模块
    var path = require(‘path’);

    // 导出一个配置对象,将来webpack在启动的时候,会默认来查找webpack.config.js,并读取这个文件中导出的配置对象,来进行打包处理
    module.exports = {

    1. entry: path.resolve(\_\_dirname, 'src/js/main.js'), // 项目入口文件
    2. output: \{ // 配置输出选项
    3. path: path.resolve(\_\_dirname, 'dist'), // 配置输出的路径
    4. filename: 'bundle.js' // 配置

输出的文件名
}
}
```

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4ODQ1ODU4_size_16_color_FFFFFF_t_70 3

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4ODQ1ODU4_size_16_color_FFFFFF_t_70 4

## 实现webpack的实时打包构建

  1. 由于每次重新修改代码之后,都需要手动运行webpack打包的命令,比较麻烦,所以使用`webpack-dev-server`来实现代码实时打包编译,当修改代码之后,会自动进行打包构建。
  2. 运行`cnpm i webpack-dev-server —save-dev`安装到开发依赖

20190515131605704.png

可能会有疑惑,这里-D和-S有什么区别

-———->>>> npm install name -save 简写(npm install name -S) 自动把模块和版本号添加到dependencies。
npm install name -save-dve 简写(npm install name -D) 自动把模块和版本号添加到devdependencies。

-D后,安装包会在package中的 devDependencies对象中。简称dev。dev是在开发环境中要用到的。

-S后,安装包会在package中的 dependencies 对象中。简称dep。dep是在生产环境中要用到的。

举个例子:

构建工具:gulp和webpack是用来压缩代码,打包等需要的工具,程序实际运行的时候并不需要,就要放在dev中所以要用 -D

项目插件:例如element ui、echarts这种插件要在运行中使用的,就要放在dep中所以就用 -S

一般我们项目插件,在api中都可以看到,一般都是-S。因为这些插件是在程序运行中使用的。
-———->>>>>>>

  1. 安装完成之后,在命令行直接运行`webpack-dev-server`来进行打包,发现报错,此时需要借助于`package.json`文件中的指令,来进行运行`webpack-dev-server`命令,在`scripts`节点下新增`“dev”: “webpack-dev-server”`指令,

20190515131951486.png

注意:webpack-dev-server这个工具如果想要在本地运行,要求在本地项目中必须安装webpak和webpack-cli

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4ODQ1ODU4_size_16_color_FFFFFF_t_70 5

输出的跟根路径是/ ,所以用http://localhost:8080/bundle.js访问代码

http://localhost:8080/src访问页面

发现可以进行实时打包,但是dist目录下并没有生成`bundle.js`文件,这是因为`webpack-dev-server`将打包好的文件放在了内存中

  • 把`bundle.js`放在内存中的好处是:由于需要实时打包编译,所以放在内存中速度会非常快
  • 这个时候访问webpack-dev-server启动的`http://localhost:8080/\`网站,发现是一个文件夹的面板,需要点击到src目录下,才能打开我们的index首页,此时引用不到bundle.js文件,需要修改index.html中script的src属性为:\``
  • 为了能在访问`http://localhost:8080/\`的时候直接访问到index首页,可以使用\`--contentBase src`指令来修改dev指令,指定启动的根目录:

20190515134529183.png

--open —-自动打开

--port 3000 —-修改端口号

--contentBase src ——以src作为根路径

--hot —-热跟新

这样,当你每次运行npm run dev 的时候,就直接进入页面,而且是异步刷新

```
“dev”: “webpack-dev-server —contentBase src”
```
同时修改index页面中script的src属性为``

## 使用`html-webpack-plugin`插件配置启动页面
由于使用`—contentBase`指令的过程比较繁琐,需要指定启动的目录,同时还需要修改index.html中script标签的src属性,所以推荐大家使用`html-webpack-plugin`插件配置启动页面.

  1. 运行`cnpm i html-webpack-plugin —save-dev`安装到开发依赖
  2. 修改`webpack.config.js`配置文件如下:
    ```20190515140216242.png

在内存中生成html,在内存在内存中生成魔板页面

  1. // 导入处理路径的模块
  2. var path = require('path');
  3. // 导入自动生成HTMl文件的插件
  4. var htmlWebpackPlugin = require('html-webpack-plugin');
  5. module.exports = \{
  6. entry: path.resolve(\_\_dirname, 'src/js/main.js'), // 项目入口文件
  7. output: \{ // 配置输出选项
  8. path: path.resolve(\_\_dirname, 'dist'), // 配置输出的路径
  9. filename: 'bundle.js' // 配置输出的文件名
  10. \},
  11. plugins:\[ // 添加plugins节点配置插件
  12. new htmlWebpackPlugin(\{
  13. template:path.resolve(\_\_dirname, 'src/index.html'),//模板路径
  14. filename:'index.html'//自动生成的HTML文件的名称
  15. \})
  16. \]
  17. \}

```

  1. 修改`package.json`中`script`节点中的dev指令如下:
    ```
    “dev”: “webpack-dev-server”
    ```
  2. 将index.html中script标签注释掉,因为`html-webpack-plugin`插件会自动把bundle.js注入到index.html页面中!

## 实现自动打开浏览器、热更新和配置浏览器的默认端口号
**注意:热更新在JS中表现的不明显,可以从一会儿要讲到的CSS身上进行介绍说明!**
### 方式1:
+ 修改`package.json`的script节点如下,其中`—open`表示自动打开浏览器,`—port 4321`表示打开的端口号为4321,`—hot`表示启用浏览器热更新:
```
“dev”: “webpack-dev-server —hot —port 4321 —open”
```

### 方式2:

  1. 修改`webpack.config.js`文件,新增`devServer`节点如下:
    ```
    devServer:{
    1. hot:true,
    2. open:true,
    3. port:4321
    }
    ```
  2. 在头部引入`webpack`模块:
    ```
    var webpack = require(‘webpack’);
    ```
  3. 在`plugins`节点下新增:
    ```
    new webpack.HotModuleReplacementPlugin()
    ```
  1. // 这个配置文件。起始就是一个js文件,通过node的模块操作,向外暴露一个对象
  2. const path = require('path')
  3. // 2:启用热跟新的第二步
  4. const webpack = require('webpack')
  5. // 导入在内存中生成html的插件
  6. // 只要是插件,就一定要放在plugins节点中去
  7. 作用:
  8. // 1:自动在内存中根据指定页面,生成一个内存页面
  9. // 2:自动把打包好的bundle.js追加到页面中去,你也不用考虑bundle的路径问题
  10. const htmlWebpackPlugin = require('html-webpack-plugin')
  11. module.exports = {
  12. entry: './src/main.js',//入口文件
  13. output: { //出口文件相关配置
  14. path: path.resolve(__dirname, './dist'),
  15. filename: 'bundle.js'
  16. },
  17. // 这是配置dev-sever命令参数的第二种方法
  18. devServer: {
  19. open: true,
  20. port: 3000,
  21. contentBase: 'src',
  22. // 启用热跟新的第一步
  23. hot: true
  24. },
  25. plugins: [//配置插件的节点
  26. // 3:new一个热跟新的模块对象,
  27. new webpack.HotModuleReplacementPlugin(),
  28. new htmlWebpackPlugin({//创建一个在内存中生成html的插件,根据模板页面,生成指定的页面
  29. template: './src/index.html', //指定魔板页面
  30. filename: 'index.html' //指定生成页面的名称
  31. })
  32. ]
  33. }

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4ODQ1ODU4_size_16_color_FFFFFF_t_70 6

#

# 使用webpack打包css文件

  1. 运行`cnpm i style-loader css-loader —save-dev`
  2. 修改`webpack.config.js`这个配置文件:
    ```
    module: { // 用来配置第三方loader模块的
    1. rules: \[ // 文件的匹配规则
    2. \{ test: /\\.css$/, use: \['style-loader', 'css-loader'\] \}//处理css文件的规则
    3. \]
    }
    ```
  3. 注意:`use`表示使用哪些模块来处理`test`所匹配到的文件;`use`中相关loader模块的调用顺序是从后向前调用的;

## 使用webpack打包less文件

  1. 运行`cnpm i less-loader less -D`
  2. 修改`webpack.config.js`这个配置文件:
    ```
    { test: /\.less$/, use: [‘style-loader’, ‘css-loader’, ‘less-loader’] },
    ```

## 使用webpack打包sass文件

  1. 运行`cnpm i sass-loader node-sass —save-dev`
  2. 在`webpack.config.js`中添加处理sass文件的loader模块:
    ```
    { test: /\.scss$/, use: [‘style-loader’, ‘css-loader’, ‘sass-loader’] }
    ```

## 使用webpack处理css中的路径

  1. 运行`cnpm i url-loader file-loader —save-dev`
  2. 在`webpack.config.js`中添加处理url路径的loader模块:
    ```
    { test: /\.(png|jpg|gif)$/, use: ‘url-loader’ }
    ```
  3. 可以通过`limit`指定进行base64编码的图片大小;只有小于指定字节(byte)的图片才会进行base64编码:
    ```
    { test: /\.(png|jpg|gif)$/, use: ‘url-loader?limit=43960’ },
    ```

20190515152103998.png

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4ODQ1ODU4_size_16_color_FFFFFF_t_70 7

单纯导入css样式表,会出错,webpack默认会处理js文件,但是不会处理其他文件,比如css,

如果想要处理费js文件,需要手动安装,第三方加载器

css

1:cnpm i style-loader css-loader -D

2:打开webpack.config.js新增一个配置节点,叫做module,他是一个对象,在module对象身上,有个rules属性,这个属性是数组。在数组中存放了第三方文件的匹配和处理规则

less:

cnpm i less less-loader -D

注意less是less-loader内部依赖的,所以两个都需要安装

sass

cnpm i sass-loader node-sass -D

注意sass是sass-loader内部依赖,所以两个都要装

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4ODQ1ODU4_size_16_color_FFFFFF_t_70 8

注意:module和pligins是平级的

url的引入

20190515163023440.png

安装url-loader file-loader -D

配置处理ur文件的l第三方loader文件

20190515163156452.png

name = [name].[ext] [原来名字].[后缀]

引入bootstrap

先安装 cnpm i bootstrap@3.3.7 -S

然后再main.js导入bootstrap路劲 ,在module里面配置url-loader文件

## 使用babel处理高级JS语法

  1. 运行`cnpm i babel-core babel-loader babel-plugin-transform-runtime —save-dev`安装babel的相关loader包
  2. 运行`cnpm i babel-preset-es2015 babel-preset-stage-0 —save-dev`安装babel转换的语法
  3. 在`webpack.config.js`中添加相关loader模块,其中需要注意的是,一定要把`node_modules`文件夹添加到排除项:
    ```
    { test: /\.js$/, use: ‘babel-loader’, exclude: /node_modules/ }
    ```
  4. 在项目根目录中添加`.babelrc`文件,并修改这个配置文件如下:
    ```
    {
    “presets”:[“env”, “stage-0”],
    “plugins”:[“transform-runtime”]
    }
    ```
  5. **注意:语法插件`babel-preset-es2015`可以更新为`babel-preset-env`,它包含了所有的ES相关的语法;**

20190515212607676.png

20190515212621191.png

20190515212634596.png

webpack于vue

首先在webpack环境配置vue

cnpm i vue -S

紧接着在js入口文件,导入vue

import Vue from ‘vue’

下面接可以写vue代码

创建Vue实例

写el,daata,methods,

但是问题出现了

import Vue from ‘vue’ 会自动到node_modules—-> vue—->pack.json—->main—->

  1. "main": "dist/vue.runtime.common.js",找到的是这个,并不是我们网页需要的vue.js 所以我们需要手动修改路劲
  2. import Vue from '../node_modules/vue/dist/vue.js'

你要是就想使用

  1. import Vue from 'vue'

在webpack.congig.js配置路径节点

20190515222702268.png

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4ODQ1ODU4_size_16_color_FFFFFF_t_70 9’这里如果你就想用vue,而且也不想修改配置文件

那么你可以安装

## 注意:

有时候使用`npm i node-sass -D`装不上,这时候,就必须使用 `cnpm i node-sass -D`

## 在普通页面中使用render函数渲染组件

## 在webpack中配置.vue组件页面的解析

  1. 运行`cnpm i vue -S`将vue安装为运行依赖;

  2. 运行`cnpm i vue-loader vue-template-compiler -D`将解析转换vue的包安装为开发依赖;

  3. 运行`cnpm i style-loader css-loader -D`将解析转换CSS的包安装为开发依赖,因为.vue文件中会写CSS样式;

  4. 在`webpack.config.js`中,添加如下`module`规则:

```

module: {

  1. rules: \[
  2. \{ test: /\\.css$/, use: \['style-loader', 'css-loader'\] \},
  3. \{ test: /\\.vue$/, use: 'vue-loader' \}
  4. \]

}

```

  1. 创建`App.js`组件页面:

```

  1. <template>
  2. <!-- 注意:在 .vue 的组件中,template 中必须有且只有唯一的根元素进行包裹,一般都用 div 当作唯一的根元素 -->
  3. <div>
  4. <h1>这是APP组件 - \{ \{msg\}\}</h1>
  5. <h3>我是h3</h3>
  6. </div>
  7. </template>
  8. <script>
  9. // 注意:在 .vue 的组件中,通过 script 标签来定义组件的行为,需要使用 ES6 中提供的 export default 方式,导出一个vue实例对象
  10. export default \{
  11. data() \{
  12. return \{
  13. msg: 'OK'
  14. \}
  15. \}
  16. \}
  17. </script>
  18. <style scoped>
  19. h1 \{
  20. color: red;
  21. \}
  22. </style>

```

  1. 创建`main.js`入口文件:

```

  1. // 导入 Vue 组件
  2. import Vue from 'vue'
  3. // 导入 App组件
  4. import App from './components/App.vue'
  5. // 创建一个 Vue 实例,使用 render 函数,渲染指定的组件
  6. var vm = new Vue(\{
  7. el: '\#app',
  8. render: c => c(App)
  9. \});

```

## 在使用webpack构建的Vue项目中使用模板对象?

  1. 在`webpack.config.js`中添加`resolve`属性:
    ```
    resolve: {
    alias: {
    ‘vue$’: ‘vue/dist/vue.esm.js’
    }
    }
    ```

## ES6中语法使用总结

  1. 使用 `export default` 和 `export` 导出模块中的成员; 对应ES5中的 `module.exports` 和 `export`

  2. 使用 `import ** from **` 和 `import ‘路径’` 还有 `import {a, b} from ‘模块标识’` 导入其他模块

  3. 使用箭头函数:`(a, b)=> { return a-b; }`

. webpack4.x.*集成vue-loader@15.2.4报错

  1. 1
  2. vue-loader was used without the corresponding plugin. Make sure to include VueLoaderPlugin in your webpack config.

分析

. 参考官方文档 https://vue-loader.vuejs.org/migrating.html\#a-plugin-is-now-required
. Vue-loader在15.*之后的版本都是 vue-loader的使用都是需要伴生 VueLoaderPlugin的,

  1. 1
  2. 2

解决

. 在webpack.config.js中加入

  1. 1

const VueLoaderPlugin = require(‘vue-loader/lib/plugin’);
module.exports = {
devtool: “sourcemap”,
entry: ‘./js/entry.js’, // 入口文件
output: {
filename: ‘bundle.js’ // 打包出来的wenjian
},
plugins: [
// make sure to include the plugin for the magic
new VueLoaderPlugin()
],
module : {

}
}

## 在vue组件页面中,集成vue-router路由模块

[vue-router官网](https://router.vuejs.org/)

  1. 导入路由模块:

```

import VueRouter from ‘vue-router’

```

  1. 安装路由模块:

```

Vue.use(VueRouter);

```

  1. 导入需要展示的组件:

```

import login from ‘./components/account/login.vue’

import register from ‘./components/account/register.vue’

```

  1. 创建路由对象:

```

var router = new VueRouter({

routes: [

  1. \{ path: '/', redirect: '/login' \},
  2. \{ path: '/login', component: login \},
  3. \{ path: '/register', component: register \}

]

});

```

  1. 将路由对象,挂载到 Vue 实例上:

```

var vm = new Vue({

el: ‘#app’,

// render: c => { return c(App) }

render(c) {

  1. return c(App);

},

router // 将路由对象,挂载到 Vue 实例上

});

```

  1. 改造App.vue组件,在 template 中,添加`router-link`和`router-view`:

```

  1. <router-link to="/login">登录</router-link>
  2. <router-link to="/register">注册</router-link>
  3. <router-view></router-view>

```

## 组件中的css作用域问题

## 抽离路由为单独的模块

## 使用 饿了么的 MintUI 组件

[Github 仓储地址](https://github.com/ElemeFE/mint-ui)

[Mint-UI官方文档](http://mint-ui.github.io/\#!/zh-cn)

  1. 导入所有MintUI组件:

```

import MintUI from ‘mint-ui’

```

  1. 导入样式表:

```

import ‘mint-ui/lib/style.css’

```

  1. 在 vue 中使用 MintUI:

```

Vue.use(MintUI)

```

  1. 使用的例子:

```

primary

```

## 使用 MUI 组件

[官网首页](http://dev.dcloud.net.cn/mui/)

[文档地址](http://dev.dcloud.net.cn/mui/ui/)

  1. 导入 MUI 的样式表:

```

import ‘../lib/mui/css/mui.min.css’

```

  1. 在`webpack.config.js`中添加新的loader规则:

```

{ test: /\.(png|jpg|gif|ttf)$/, use: ‘url-loader’ }

```

  1. 根据官方提供的文档和example,尝试使用相关的组件

## 将项目源码托管到oschina中

  1. 点击头像 -> 修改资料 -> SSH公钥 [如何生成SSH公钥](http://git.mydoc.io/?t=154712)

  2. 创建自己的空仓储,使用 `git config —global user.name “用户名”` 和 `git config —global user.email ***@**.com` 来全局配置提交时用户的名称和邮箱

  3. 使用 `git init` 在本地初始化项目

  4. 使用 `touch README.md` 和 `touch .gitignore` 来创建项目的说明文件和忽略文件;

  5. 使用 `git add .` 将所有文件托管到 git 中

  6. 使用 `git commit -m “init project”` 将项目进行本地提交

  7. 使用 `git remote add origin 仓储地址`将本地项目和远程仓储连接,并使用origin最为远程仓储的别名

  8. 使用 `git push -u origin master` 将本地代码push到仓储中

## App.vue 组件的基本设置

  1. 头部的固定导航栏使用 `Mint-UI` 的 `Header` 组件;

  2. 底部的页签使用 `mui` 的 `tabbar`;

  3. 购物车的图标,使用 `icons-extra` 中的 `mui-icon-extra mui-icon-extra-cart`,同时,应该把其依赖的字体图标文件 `mui-icons-extra.ttf`,复制到 `fonts` 目录下!

  4. 将底部的页签,改造成 `router-link` 来实现单页面的切换;

  5. Tab Bar 路由激活时候设置高亮的两种方式:

    • 全局设置样式如下:

    ```

    .router-link-active{

    1. color:\#007aff !important;

    }

    ```

    • 或者在 `new VueRouter` 的时候,通过 `linkActiveClass` 来指定高亮的类:

    ```

    // 创建路由对象

    var router = new VueRouter({

    routes: [

    1. \{ path: '/', redirect: '/home' \}

    ],

    linkActiveClass: ‘mui-active’

    });

    ```

## 实现 tabbar 页签不同组件页面的切换

  1. 将 tabbar 改造成 `router-link` 形式,并指定每个连接的 `to` 属性;

  2. 在入口文件中导入需要展示的组件,并创建路由对象:

```

  1. // 导入需要展示的组件
  2. import Home from './components/home/home.vue'
  3. import Member from './components/member/member.vue'
  4. import Shopcar from './components/shopcar/shopcar.vue'
  5. import Search from './components/search/search.vue'
  6. // 创建路由对象
  7. var router = new VueRouter(\{
  8. routes: \[
  9. \{ path: '/', redirect: '/home' \},
  10. \{ path: '/home', component: Home \},
  11. \{ path: '/member', component: Member \},
  12. \{ path: '/shopcar', component: Shopcar \},
  13. \{ path: '/search', component: Search \}
  14. \],
  15. linkActiveClass: 'mui-active'
  16. \});

```

## 使用 mt-swipe 轮播图组件

  1. 假数据:

```

lunbo: [

  1. 'http://www.itcast.cn/images/slidead/BEIJING/2017440109442800.jpg',
  2. 'http://www.itcast.cn/images/slidead/BEIJING/2017511009514700.jpg',
  3. 'http://www.itcast.cn/images/slidead/BEIJING/2017421414422600.jpg'
  4. \]

```

  1. 引入轮播图组件:

```

  1. <div class="home-swipe">
  2. <mt-swipe :auto="4000">
  3. <mt-swipe-item v-for="(item, i) in lunbo" :key="i">
  4. <img :src="item" alt="">
  5. </mt-swipe-item>
  6. </mt-swipe>
  7. </div>

```

## 在`.vue`组件中使用`vue-resource`获取数据

  1. 运行`cnpm i vue-resource -S`安装模块

  2. 导入 vue-resource 组件

```

import VueResource from ‘vue-resource’

```

  1. 在vue中使用 vue-resource 组件

```

Vue.use(VueResource);

```

发表评论

表情:
评论列表 (有 0 条评论,448人围观)

还没有评论,来说两句吧...

相关阅读

    相关 webpack4.x 第二节

    webpack4.x 打包初体验 在根目录下建一个src(源码)目录 在建一个dist(打包后)目录 在src下建一个入口文件,index.js // in