美文网首页
那些webpack日常整理(二)

那些webpack日常整理(二)

作者: 闫小兀 | 来源:发表于2017-12-04 22:51 被阅读24次

关键点

  • webpack配置详解
    • entry
    • output

一. entry(入口配置)

项目很多文件之间的关系是需要我们牵线搭桥, 然后让webpack去处理; 一般项目会存在一个或者多个'主文件', 其他文件(模块)直接或者间接关联到主文件. 那么entry就是配置配置主文件信息.

entry赋值语法:

  • 字符串 | 数组
const config = {
    entry: '/path/to/my/entry/file.js'
};
module.exports = config;
简写方式:
const config = {
  entry: {
    main: './path/to/my/entry/file.js'
  }
};
  • 对象
    常见场景: 配置多页应用, 或者抽出公共模块代码, 需要对象语法形式.
    entry:{
        main:'./src/index.js',
        second:'./src/index2.js',
        vendor: ['react', 'react-dom']
    }

二.输出配置(output)

output 配置项作用于打包文件的输出阶段.

  • 基本配置, filename和path
    • filename用于输出文件的名
    • path设置输出路径
output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js'
}
  • chunkfile
    在程序刚进入时,可能不需要某个主文件的所有代码,这时我们使用一定方法对主文件代码进行分割,如此,可以按需加载;这种不具备独立依赖的文件称为chunkfile
output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js',
    chunkFilename: 'js/[name].chunk.js'
}

注释: [name]为webpack中占位符,表示打包后文件的名称,可以在entry or 代码中设置(webpack还有其他占位符)

三.modules

开发者在模块化编程中,将程序分解成离散功能块,称为模块.
对于webpack而言,所有的文件都是模块.

  • webpack 模块
    对比 Node.js 模块,webpack 模块能够以各种方式表达它们的依赖关系,几个例子如下:

    • ES2015 import 语句
    • CommonJS require() 语句
    • AMD define 和 require 语句
    • css/sass/less 文件中的 @import 语句。
    • 样式(url(...))或 HTML 文件(<img src=...>)中的图片链接(image url)
  • loader
    webpack只能处理 js 文件, 对于一些js新语法,或者其他类型的模块,应该如何处理,这时需要webpack又一重要部分loader.
    webpack 中,loader 的配置主要在module.rules 中进行

module: {
    rules: [
      {
        test: /\.css$/,
        use: [
          'vue-style-loader',
          'css-loader'
        ],
      },      
      {
        test: /\.vue$/,
        loader: 'vue-loader',
        options: {
          loaders: {
          }
          // other vue-loader options go here
        }
      },
      {
        test: /\.js$/,
        loader: 'babel-loader',
        exclude: /node_modules/
      },
      {
        test: /\.(png|jpg|gif|svg)$/,
        loader: 'file-loader',
        options: {
          name: '[name].[ext]?[hash]'
        }
      }
    ]
  }

常见loder

  • plugins 的配置
    一切loader 不能做的处理都可由plugins 来做

[待续持续更新吧]

相关文章

  • 那些webpack日常整理(二)

    关键点 webpack配置详解entryoutput 一. entry(入口配置) 项目很多文件之间的关系是需要我...

  • 那些webpack日常整理(一)

    这儿有个美丽的故事,我也有酒,愿意来共饮听故事嘛. 1.地点: FEDAY前端大会2.人物: 很多呀,大佬,大佬....

  • Webpack  整理

    现状:前端开发是基于多语言、多层次的编码和组织工作,前端产品的交付是基于浏览器,这些资源是通过增量加载的方式运行到...

  • Webpack整理

    【翻译】Webpack——令人困惑的地方 webpack2 终极优化 Webpack 2 入门教程 webpack...

  • webpack整理

    本篇文章基于webpack官网对webpack的基本概念进行的总结。 主要基于 , , , , 几方面阐述,本篇...

  • 2018-3-11

    webpack 项目整理 业务项目整理 entry 本地热更新 1. 在本项目总安装webpack-dev-ser...

  • wepack从0开始配置vue环境之四: vuessr渲染

    github传送门webpack之一webpack基础配置webpack之二webpack部署优化webpack之...

  • wepack从0开始配置vue环境之三: 集成vuex+vue-

    github传送门webpack之一webpack基础配置webpack之二webpack部署优化webpack之...

  • Webpack 4 学习05(打包css)

    webpack 自身只理解 JavaScript, 想让 webpack 能够去处理那些非 JavaScript ...

  • webpack总结 & 个人理解

    目录: 学习资源 概念总结 webpack必要元素 webpack其他元素 遇到的问题 常见loader整理 常见...

网友评论

      本文标题:那些webpack日常整理(二)

      本文链接:https://www.haomeiwen.com/subject/bjwfixtx.html