前端与移动开发之vue-day5(1)

在网页中会引用哪些常见的静态资源?
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中定义组件的方式,推荐这么用】
网页中引入的静态资源多了以后有什么问题???
网页加载速度慢, 因为 我们要发起很多的二次请求;
要处理错综复杂的依赖关系

如何解决上述两个问题
合并、压缩、精灵图、图片的Base64编码
可以使用之前学过的requireJS、也可以使用webpack可以解决各个包之间的复杂依赖关系;

什么是webpack?
webpack 是前端的一个项目构建工具,它是基于 Node.js 开发出来的一个前端工具;
如何完美实现上述的2种解决方案
使用Gulp, 是基于 task 任务的;
使用Webpack, 是基于整个项目进行构建的;

借助于webpack这个前端自动化构建工具,可以完美实现资源的合并、打包、压缩、混淆等诸多功能。
根据官网的图片介绍webpack打包的过程
webpack官网

webpack安装的两种方式
运行npm i webpack -g全局安装webpack,这样就能在全局使用webpack的命令
在项目根目录中运行npm i webpack --save-dev安装到项目依赖中

初步使用webpack打包构建列表隔行变色案例
运行npm init初始化项目,使用npm管理项目中的依赖包
创建项目基本的目录结构
使用cnpm i jquery --save安装jquery类库
创建main.js并书写各行变色的代码逻辑:


// 导入jquery类库
    import $ from 'jquery'

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

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

webpack src/js/main.js dist/bundle.js
使用webpack的配置文件简化打包时候的命令
在项目根目录中创建webpack.config.js
由于运行webpack命令的时候,webpack需要指定入口文件和输出文件的路径,所以,我们需要在webpack.config.js中配置这两个路径:


// 导入处理路径的模块
   var path = require('path');

   // 导出一个配置对象,将来webpack在启动的时候,会默认来查找webpack.config.js,并读取这个文件中导出的配置对象,来进行打包处理
   module.exports = {
       entry: path.resolve(__dirname, 'src/js/main.js'), // 项目入口文件
       output: { // 配置输出选项
           path: path.resolve(__dirname, 'dist'), // 配置输出的路径
           filename: 'bundle.js' // 配置输出的文件名
       }
   }

猜你喜欢

转载自blog.51cto.com/13517854/2319187