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

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. shell编程学习笔记(十):Shell中的for循环

    shell编程中可以实现for循环遍历 先来写一个最简单的吧,循环输出从1到10,脚本内容为: #! /bin/sh for i in {1..10} do echo $i done 上面的代码从1到 ...

  2. Add Columns to the Web Sessions List

    To add custom columns to the Web Sessions List, add rules using FiddlerScript. The BindUIColumn Attr ...

  3. 每天一个linux命令(9):touch

    1.命令简介 touch命令将每个文件的访问时间和修改时间改为当前时间. 2.用法 touch [选项]... 文件... 3.选项 -a 只更改访问时间 -c, --no-create 不创建任何文 ...

  4. 汉字编码 (GB2312 GBK GB18030)

    GB2312 收录简化汉字及符号.字母.日文假名等共7445个图形字符,其中汉字占6763个 每个符号都用两个字节表示,每个字节均采用七位编码表示,习惯上 第一个字节是高字节,第二个字节是低字节 GB ...

  5. vim编辑器里shift + 3 出现高亮问题,怎么取消掉

    在编辑器里非编辑状态,输入: shift + 3 (#) shift + 8 (*) 会出现高亮显示,看着很不舒服, 取消方式: :noh :/aaa (随便的字母或数字都可)

  6. SNF框架及机器人2018年1-9月份升级内容

    1月 增加评星控件.年月选择控件 完善表格弹框的封装,增加多选弹框 的封装 增加表格 单元格合并.列头必填与可填写的标识 4月 关于分页查询和排序的各种修改(扶额) 导入excel优化 bs计算合计的 ...

  7. 从零开始unity特效(持续追加中)

    打算重拾3d渲染了,计划把主要理论过一遍,每部分琢磨一个言之有物的demo. 因为很多东西要现学,再加上上班-8h,更新会比较慢,但会坚持. (待续) -------houdini+unity河流(2 ...

  8. Quartz与Spring Boot集成使用

    上次自己搭建Quartz已经是几年前的事了,这次项目中需要定时任务,需要支持集群部署,想到比较轻量级的定时任务框架就是Quartz,于是来一波. 版本说明 通过搜索引擎很容易找到其官网,来到Docum ...

  9. Asp.Net百度站长工具的主动推送功能

    public static string PostUrl(string[] urls) { try { string formUrl = "http://data.zz.baidu.com/ ...

  10. k8s yaml说明

    k8s yaml # yaml格式的pod定义文件完整内容: apiVersion: v1       #必选,版本号,例如v1 kind: Pod       #必选,Pod metadata:   ...