目的:  模块化开发,组件化开发,让代码符合开发规范,更高效

webpack作用:从pack,就知道这是包的意思,比较专业点叫做前端自动化打包构建工具,代码错误检查,预处理,文件合并(打包),代码压缩,

将各种文件包括es6de 文件转化成es5的可以被浏览器识别的文件。

webpack安装:

1.node下载安装,最好有git,可以利用git的命令行窗口。

node和webpack啥关系呢?为什么要求要有node环境????

webpack官网安装说明:在开始之前,请确保安装了 Node.js 的最新版本

当然这是要求,你没有理由不按照官网命令来办。但是为甚呢?为什么webpack的运行是基于nodejs呢?是在哪一步呢?

可能是压缩打包?,并且在命令窗口里时不时的npm点东西,没有nodejs还真不行,因为npm就是在node里的,并且配置文件module.exports = { }也是nodejs的引入方式,由此可见,这个webpack一定是基于nodejs的

          2.全局安装webpack和webpack-cli:npm install webpack  webpack-cli  -g;很疑惑的一点是我不知道为什么需要全局安装。难道本地安装还不够吗?

3. 初始化项目:在项目文件夹的路径下,执行npm init,会出现 packge.json这个无比重要的配置文件

node_modules: 项目的依赖文件,很大,是真是的文件

pack-lock.json:依赖文件的路径版本。

package.json文件:记录了依赖devDependencies,node_modules和pack-lock.json两个文件都不必传,因为npm install 命令会自动的去找       pakege.json的依赖文件,去下载并生成新的node_modules和  pack-lock.json;

4.局部安装webpack 和webpack-cli;npm install webpack webpack-cli --save-dev   (简写成-d);

5.设置webpack的出口、入口  、loader   和  插件;

人口:index.js;

出口:   默认是 dist/main.js,但必须注意:这要求是个对象:我直接干成字符串报了下面错误

output正确格式:   是一个对象:有path和filename两个属性;      dist文件夹可以自己创建,包括main.js

如果有多个入口多个出口,

最重要的设置之一:配置loader;

第一: 为什么要配置图片的loader???img为什么直接用不行,

webpack是一个打包器,天生只认识JavaScript,对之外的css,img,等一概都不认识,必须转换成。

看一句官方的原话:loader 描述了 webpack 如何处理 非 JavaScript(non-JavaScript) _模块_,并且在 bundle 中引入这些依赖

也有人说在webpack里,万物皆模块。

这就表明:在webpack里,想要显示图片,必须要用图片加载器,

    第二:设置output里的publicPath:

1. path 跟publicPath一样,都有表示输出路径的意思,但查了好多资料,我的结论是:

  publicPath表示js和html取静态文件的路径:官方的解释:

也就是说,publicPath是用于更新内嵌到文件里的url值。这个public如果不配,js和html找静态资源会找不到。

2.  publicPath  (1)可以设置相对路径,(和path不一样,path是绝对路径);

(2)最好以 ‘/’ 结尾,是为了配合rules里的use里或者option的name属性与它对接。

 第三:图片两种加载器都可以实现加载图片:

  url-loader:可以将图片转为base64字符串,能更快的加载图片,但当图片很多,就需要加载一堆base64的编码字符串,

 file-loader: 一旦图片过大, 就需要使用file-loader加载本地图片,故url-loader可以设置图片超过多少字节时,使用file-loader加载图片(?limit=XX

或者 

 注意name:'[name].[ext]'这种写法

顺便设置一下mode吧,要不webpack老发出warning

webpack的基本配置:这个我老师跟我讲,必须手动会干

前端自动化构建工具webpack (一)之webpack安装 和 设置webpack.confi.js的更多相关文章

  1. 前端自动化构建工具gulp的使用总结

    前端自动化构建工具gulp的使用总结 博主最近偶的空闲,在此对gulp的使用做一个总结,让小伙伴知道如何合理的使用gulp以及gulp的使用技巧. 谈到gulp,有人可能就会想到另外一个构建工具gru ...

  2. 前端自动化构建工具——gulp

    gulp是基于流的前端自动化构建工具. 一.环境配置 gulp是基于nodejs的,所以没有 nodejs 环境的要先去安装好 然后给系统配上gulp环境 npm install -g gulp 再到 ...

  3. 前端自动化构建工具 Gulp 使用

    一个月没写博客了,今天有时间,就写个gulp的入门使用吧.. 简介:gulp是一个前端自动化构建工具,可以实现代码的检查.压缩.合并……等等,gulp是基于Node.js的自动任务运行器 一.安装No ...

  4. gulp前端自动化构建工具新手入门篇

    很久没有更新博文了. 经过了一次年前吐血的赶项目,终于在年后回血了.趁着有空,新学到了一个前端自动化构建工具-gulp. 现在我们通过这3个问题来学习一下: 1.什么是gulp? 2.为什么要用gul ...

  5. 前端自动化构建工具--Gulp&&Webpack

    前端构建工具的作用可以认为是对源项目文件或资源进行文件级处理,将文件或资源处理成需要的最佳输出结构和形式. 在处理过程中,我们可以对文件进行模块化引入.依赖分析.资源合并.压缩优化.文件嵌入.路径替换 ...

  6. 前端自动化构建工具-yoman浅谈

    如今随着前端技术的飞速发展,前端项目也变得越来越复杂. 快速的搭建一个集成多种工具和框架的复杂前端项目也越来越成为一种需求. 当然如果你要自己从0开始完全自己diy,绝对可以,只不过需要耗费一些不少的 ...

  7. gulp前端自动化构建工具

    博主不易,不求赞赏,希望把自己遇到的难点写出来,以及希望自己能有能力写出一篇不错的博文. 前端构建工具本人 bootstrap+jquery用gulp vue+element 用webpack 引文 ...

  8. 前端自动化构建工具 gulp 学习笔记 一、

    一.我对gulp的初期理解 是一种前端辅助开发工具 可以帮你把js,css,img等文件 合并.压缩,图片好像是合并为精灵图,合并为精灵图之后,还会生成一个css样式表. 官方解说是:基于流的自动化构 ...

  9. webpack前端自动化构建工具

    博主不易,不求赞赏,希望把自己遇到的难点写出来,以及希望自己能有能力写出一篇不错的博文. 前端构建工具本人 bootstrap+jquery用gulp vue+element 用webpack 本人最 ...

随机推荐

  1. 基于ping++聚合支付进行微信红包开发

    1.微信方面的开发,一定要详细的阅读微信支付的开发文档. https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13 ...

  2. Elastic{ON}参会随手记

    Elastic{ON} 同事送了一张Elastic{ON}的票,因为我们的产品中用到的ELK全家桶,实话说用的体量还挺大的,因此非常想去参加这次的发布会. 7.0的新特性 上午的会议是来自总部的一名工 ...

  3. PDF.js实现个性化PDF渲染(文本复制)

    我肥来啦

  4. 跟着柴毛毛学Spring(3)——简化Bean的配置

    通过前面的学习.我们会感觉到对于一个有较多Bean的大项目,Spring的配置会比較复杂. 那么接下来我们就介绍怎样简化Spring的配置. 简化Spring的配置主要分为两类: 1. 自己主动装配 ...

  5. CentOS 安装Nginx1.14.0

    原文地址:http://www.cnblogs.com/ascd-eg/p/9275441.html 一.安装所需环境   1.gcc 安装         yum install gcc-c++   ...

  6. iOS开发之资料收集

    github排名:https://github.com/trending, github搜索:https://github.com/search. 此文章转自github:https://github ...

  7. Windows系统下安装zabbix客户端

    简单介绍如何在windows系统下安装zabbix客户端 1. 首先下载和zabbix服务端大版本相同的windows客户端    例如我服务端安装的是zabbix-3.4.14.tar.gz     ...

  8. .NET HttpGet 获取服务器文件下的图片信息 同步和异步方式处理

    /// <summary> /// 项目文件夹下路径 返回流类型数据,如:图片类型 /// </summary> /// <returns></returns ...

  9. maven项目打包额外lib目录

    maven项目依赖了几个额外的jar包一直都无法打进最终jar,不知道哪里出了问题.一直对这块不甚清楚,就大概梳理一下 默认打包方式: maven项目下,默认编译目录为 src/main/java和s ...

  10. hdoj:2049

    #include <iostream> using namespace std; ]; /* n 个 数中 m个错排 转化为:充n个数中选取m个数,共有C(n,m)中,选取的m个数进行全部 ...