第一次写博客,有点小小的兴奋,也有一点点的慌张~~~

我是一个小白,仅记录自己的学习过程,内容仅供参考,如果有问题的地方,还希望各位大牛多多指教,我菜,菜是原罪,但是我可以学~~

1.最基本的:如何使用webpack

#npm/yarn install/add webpack

  1. webpack默认的config文件名字必须是webpack.config.js,如果需要使用其他的名字,
  2. 在执行打包的时候,必须嗷这样来使用npm run --config webpacj.other.config.js
  3. 有点长,不如配个脚本舒舒服服的,在package.json中的scripts中配置:
  4. "build": "webpack --config webpack.other.config.js",然后执行一下npm run build,瞅瞅~~

2. 基本config

  1. let path = require("path"); // 这个东西是webpack的核心,不需要安装,直接用就行了哟
  2. module.exports = {
  3. // webpack打包时的环境,开发或者生产环境,由你选择,但是呢,我们一般会配置一个基本的webpack.config.js,里面配置一些公共的配置,然后另外新建两个webpack的配置文件,一个用于开发,一个用于生产环境,这样子我们在打包的时候,就省去了我们自己去修改mode了呀,毕竟代码能做的事情,我们这辈子都不可能手动去做哈
  4. mode: "production/development",
  5. // webpack没有打包html这个说法吧,所以说这个入口是js文件嗷!!
  6. entry: "./src/index.js", // webpack执行打包时的入口
  7. // 补充一哈,如果是多个入口打包的话,就是介个样子来写的哟,具体的用法,后面再更新嗷,不然都没有写的了~
  8. // entry: {
  9. // "home": "./src/home/index.js",
  10. // "main": "./src/main/index.js"
  11. // },
  12. devServer: {}, // 这个应该很熟悉哦,代理,简直用的巴巴适适的嘛
  13. output: { // 跟入口文件对应起来的,有入口,肯定有出口的
  14. /* 这个地方,一定要注意,必须是绝对路径(要画重点,就像是没到节假日你的
  15. 女朋友给你划重点的那样),但是在实际开发的过程中,这个
  16. 路径我们根本没发写成绝对路径呀~难呐。因此,需要使用到
  17. webpack本身的一个核心模块path,这个模块会调用一个resolve
  18. 方法,直接将相对路径就解析成了绝对路径。怎么样~是不是贼溜鼻的
  19. */
  20. // zzff,这个大家可能不知道是什么,但是dist大家肯定熟悉吧,没错,这个就是我们在打包的时候生成的目录的名字
  21. path: path.resolve(__dirname, "zzff"),
  22. /* 入口打包出来之后,新生产的文件的名字,如果想要将生成的
  23. index.js这个文件放在zzff目录下的某个文件夹下面呢,就只
  24. 需要这样写就行了: filename: "js/index.js"
  25. */
  26. filename: "index.js",
  27. /* 打包的所有文件,只要设计到引用的,例如:src="css/index.css",都会在路径的最前面加上www.zzff.cn,src就变成了 src="www.zzff.cn/css/index.js"
  28. 是不是这个路径看着有种怪怪的感觉,有那就对了,一般呢,很少在这个地方配置域名的,一般都是./或者../,嘿嘿嘿~~~继续往下看^_^
  29. */
  30. publicPath: "www.zzff.cn"
  31. },
  32. // 这个很重要的,要划重点哦,
  33. // webpack的插件集合(我是这个样称呼它的),是一个数组,存放的是webpack需要使用的插件
  34. // 既然是插件,说明肯定不是webpack自带的,需要我们安装哈,使用到的插件安装会在底部统一例举
  35. plugins: [
  36. // 插件一半都是这么用的,要new它,当然各位朋友也可以用它来new个女/男朋友,哈哈哈~(^-^)
  37. new HtmlWebpackPlugin({ // html插件,打包之后在zzff目录下面会创建一个以html结尾的文件
  38. template: "./src/index.html", // 相当于entry,一个入口文件,这个必须要有的哦
  39. filename: "index.html/zf.html", // 熟吧,打包生成后的html文件的名字
  40. minify: { // 压缩html的一些config
  41. removeComments: true, // 清除html中的注释,默认为false
  42. collapseWhitespace: true, /* 清除html中的空格、换行符,相当于把html的内容全部打包成一行了,画面太美
  43. 简直不敢想象。默认为false(这个配置我刚开始的时候使用
  44. 是正常的,写文章复现的时候就不行了,知道的朋友麻烦给我
  45. 说一下是怎么会事呢,灰常感谢)
  46. */
  47. minifyCSS: true, // 压缩html页面中的css样式,有时候我们可能会将样式写在html中的style标签里面,这个时候就需要我们去进行压缩
  48. // 还有很多属性,就不一个一个例举了,毕竟百度才是万能的嘛
  49. }
  50. hash: true, // 这个东西加上,在打包的时候,会在打包文件的后面随机生成一串哈希戳哦,更有效的防止缓存,尴尬的要死
  51. }),
  52. new MiniCssExtractPlugin({ // 抽离html中的css代码
  53. filename: ".css/index.css" //抽离出来的css代码放置在css文件夹下面的index.css文件中
  54. /* 想了半天,难怪当初看的时候就只写了一个属性,这个要配合到loader来使用,贼舒服
  55. */
  56. }),
  57. // webpack的插件太多佬,就不一一写了,以后遇上了再记录一下就OK了,也欢迎大家补充
  58. webpack基础配置(一)的更多相关文章

      1. 搭建webpack基础配置
      1. 搭建webpack基础步骤: 1.去官方网站下载node.js(根据自己电脑的系统类型选择) 2.安装node.js完成后打开cmd命令提示符: 出现版本号证明安装成功 3.cd到工程目录下 npm ...

      1. webpack基础配置
      1. webpack运行规则: Webpack 会给每个模块分配一个唯一的id并通过这个id索引和访问模块.在页面启动时,会先执行入口文件中的代码,其它模块会在运行 require 的时候再执行. 运行时主 ...

      1. 2webpack基础配置
      1. 我们需要安装webpack 还需要安装webpack cli 这两个都是我们的开发依赖 这里我们一般会加一个-D表示上线的时候不需要他们两个包 安装我们的webpack 先初始化一下,记住我们的安装依 ...

      1. webpack11)配置文件分离为开发配置、生成配置和基础配置
      1. 前言 上篇我们已经配置好了本地开发服务器,但是配置的相对比较凌乱,一个文件中有些是开发时用到的配置,有些是生成时用到的配置,有些是开发和生成都要用到的配置,所以我们这里把环境分为3个环境 webpac ...

      1. webpack4基础入门操作(二)(讲解下webpack的配置内容)
      1. 前序:我之所以开始写这个系列,是因为我最近出去看了下外面的情况,发现技术更新的脚步太快了.我的技术栈已经完全落伍了. 所以准备今年学习写新的东西,而React.webPack4就是我的第一步.前面我看 ...

      1. webpack+babel+react+antd技术栈的基础配置
      1. webpack+babel+react+antd技术栈的基础配置 前段时间使用webpack+babel+react+antd做了一套后台管理系统,刚开始被一大堆的新知识压的喘不过气来,压力挺大的.还 ...

      1. 深入浅出 webpack 之基础配置篇
      1. 前言 前端工程化经历过很多优秀的工具,例如 Grunt.Gulp.webpack.rollup 等等,每种工具都有自己适用的场景,而现今应用最为广泛的当属 webpack 打包了,因此学习好 webp ...

      1. webpackEntryOutput的基础配置
      1. entry顾名思义,就是打包的入口文件 module.exports = { // 这个文件要做打包,从哪一个文件开始打包 entry: './src/index.js', // 打包文件要放到哪里去 ...

      1. react+webpack基础学习配置
      1. 最近学习react,公司的项目是使用create-react-app来搭建的,而我想重新使用node+mysql+react来搭建一个新的博客. 今天尝试从零开始搭建一个webpack+react项目 ...

    1. 随机推荐

        1. The Five-Number Summary|Boxplots
        1. 3.3 The Five-Number Summary; Boxplots the deciles divide a data set into tenths (10 equal parts), th ...

        1. KMP算法 详解+模板
        1. 本文大部分摘自szy学长的ppt<string>中的KMP部分. %%%膜拜szy大神orz 1.概述 KMP 算法是用来解决单模匹配问题的一种算法. 如果暴力的进行单模匹配,那么时间复杂 ...

        1. Leetcode14._最长公共前缀
        1. 题目 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow&q ...

        1. prisoners-of-war|
        1. The Nazi kept those ________ in their concentration camps.  A. prisoner-of-wars  B. prisoner-of-war ...

        1. html,将元素水平,垂直居中的四种方式
        1. 将元素垂直,水平居中分两种情况:一个是元素尺寸固定,二是元素尺寸不固定 一.尺寸固定 方法1:定位 ,50%,margin负距 .box{ width: 400px; height: 300px; b ...

        1. 最大流/最小割模板(isap) POJ1273
        1. isap模板核心代码: //d[]为距离标号数组,d[i]表示节点i到汇点的距离 //gap[]为GAP优化数组,gap[i]表示到汇点距离为i的节点个数 int dfs(int k,int flow ...

        1. 一次完整的HTTP请求响应过程(很详细)
        1. 一. HTTP请求和响应步骤   图片来自:理解Http请求与响应 以上完整表示了HTTP请求和响应的7个步骤,下面从TCP/IP协议模型的角度来理解HTTP请求和响应如何传递的. 二.TCP/IP协 ...

        1. cs231n spring 2017 lecture4 Introduction to Neural Networks
        1. 1. Backpropagation:沿着computational graph利用链式法则求导.每个神经元有两个输入x.y,一个输出z,好多层这种神经元连接起来,这时候已知∂L/∂z,可以求出∂L/ ...

        1. 吴裕雄--天生自然python学习笔记:Python3 命名空间和作用域
        1. 命名空间(Namespace)是从名称到对象的映射,大部分的命名空间都是通过 Python 字典来实现的. 命名空间提供了在项目中避免名字冲突的一种方法.各个命名空间是独立的,没有任何关系的,所以一个 ...

        1. MariaDB 外键
        1. drop database literatureDB; create database literatureDB; use literatureDB; # 类型表 create table `type ...