前言

这几天在准备一个单页面应用, 准备试试webpack神器,在准备webpack下的知识点,顺便记录下一些使用的心得。

webpack 的配置说明

在近来的前端开发中,业务逻辑复杂化,层次多样化,各种库和各种的包百花争鸣,而在模块的加载又没有一统天下的情况下,资源的管理和,静态资源的打包催生了现在很火的webpack,使其在webapp的应用中为前端人员所青睐。以下是webpack一些基础的说明和基础的小demo。

loader 和module plugin 的使用

loader 是为了让原本只能加载js的webpack能够支持CoffeeScript、 JSX、 LESS 或图片等作为依赖来一起打包编译的一个插件,这里的工作是解析,递归语法树,所以编译这部分的工作会导致cpu和内存飙升,而module 插件部分则是建立在在初始的loader之后。

//webpack的配置说明
var webpack = require('webpack'); module.exports = {
entry:['./entry.js'], //入口文件,可以多个文件, ['./entry01.js','./entry02.js']
output: { // 输出文件
path: __dirname, // 路径
filename: 'bundle.js' //具体的文件文件名
},
module: { // 对模块的处理逻辑
loaders: [
// 匹配js|jsx 后缀的文件,node_modules里面的模块除外,babel转码,当然也可以这么写
// loader:"babel-loader",
// query: {
// presets: ['es2015', 'react']
// }
//
{ test: /\.js[x]?$/, exclude: /node_modules/, loader: 'babel-loader?presets[]=es2015&presets[]=react' }, // 匹配css, 先用css-loader加载,'?' 后为具体的传参数,这里传参到css-loader 解析用css Module写的css文件,解析后再传给style-loader将内容解析到html里面
{ test: /\.css$/, loader: 'style-loader!css-loader?modules' }, // 匹配png,jpg ,'?limit' 表示为文件小于8192byte 的文件,转为 Data URl,其他的则为路径
{ test: /\.(png|jpg)$/, loader: 'url-loader?limit=8192'}
]
},
plugins: [
// 定义插件配置,可以是第三方配置,BannerPlugin 用来定义输出文件bandle.js的首部信息(注释)
new webpack.BannerPlugin('This file is created at '+ new Date()), // js 文件压缩
new uglifyJsPlugin({compress: { warnings: false }})
]
}
加载模块的配置的写法:

除了在webpack.config.js 里面的写法外,还可以在命令行, requrie 模块加载处写,比如

webpack entry.js bundle.js --module-bind 'css=style!css'
require("!style!css!./style.css") // 载入 style.css

---- To be continued!

备注

webpack官方说明: http://webpack.github.io/docs/
中文简介: http://webpackdoc.com/loader.html
阮老师的demo:https://github.com/ruanyf/webpack-demos

webpack 配置简单说几句 ?的更多相关文章

  1. vue-cli webpack配置 简单分析

    vue-cli webpack配置分析 入口 从package.json可以看到开发和生产环境的入口. "scripts": { "dev": "no ...

  2. 超简单,webpack配置

    有看过我的博客的童鞋可能有看到我最近有在利用闲暇时间做一个前后台均涵盖的音乐播放器项目,但是呢,我是一个小小的前端,对后台的了解可以说只停留在很初级的阶段,当然了音乐播放器的音乐列表是后台轮循出来的, ...

  3. webpack的简单配置

    本人刚开始也不会写webpack配置,刚开始在网上搜索了了一些,看的也是刚刚理解,所以准备自己写下来,已作纪念和贡献给像我一样不会配置的“童鞋”们! 1.创建webpack配置文件 在项目文件下创建一 ...

  4. webpack前端简单配置

    每次用webpack创建项目时,总是要安装一堆包,还要配置一系列文件解析规则,webpack打包规则等,烦不胜烦.网上找的很多webpack配置里面很多里面的配置或者引入包都是被弃用的,因此自己总结了 ...

  5. 使用webstorm+webpack构建简单入门级“HelloWorld”的应用&&引用jquery来实现alert

    使用webstorm+webpack构建简单入门级"HelloWorld"的应用&&构建使用jquery来实现 1.首先你自己把webstorm安装完成. 请参考这 ...

  6. [webpack] 配置react+es6开发环境

    写在前面 每次开新项目都要重新安装需要的包,简单记录一下. 以下仅包含最简单的功能: 编译react 编译es6 打包src中入口文件index.js至dist webpack配置react+es6开 ...

  7. Webpack配置示例和详细说明

    /* * 请使用最新版本nodejs * 默认配置,是按生产环境的要求设置,也就是使用 webpack -p 命令就可以生成正式上线版本. * 也可以使用 webpack -d -w 命令,生成用于开 ...

  8. webpack配置这一篇就够

    最近看了一篇好文,根据这个文章重新梳理了一遍webpack打包过程,以前的一些问题也都清楚了,在这里分享一下,同时自己也做了一些小的调整 原文链接:http://www.jianshu.com/p/4 ...

  9. webpack 4 简单介绍

    webpack是什么? webpack是一个现代JavaScript应用程序的静态模块打包器(module bundler). 为什么要使用webpack呢? 随着web技术的发展,前端开发不再仅仅是 ...

随机推荐

  1. javascript重置(base层)(。。。。不完整)

    1.nextSibling浏览器兼容问题 <ul> <li id="item1"></li> <li id="item2&quo ...

  2. 【鸟哥的Linux私房菜】笔记2

    Linux的应用 学习资源整理 安装记录 >< 1.Linux的应用: 网络服务器 数据库 学术机构的高效运算任务 嵌入式系统 ... 2.挂载与磁盘分区 学习资源整理 学习 1.书上的网 ...

  3. CSS3 3D旋转下拉菜单

    在线演示 本地下载

  4. Kubernetes client-go

    Github地址:https://github.com/kubernetes/client-go 访问kubernetes集群有几下几种方式: 方式 特点 支持者 Kubernetes dashboa ...

  5. Luogu-1527 [国家集训队]矩阵乘法

    Luogu-1527 [国家集训队]矩阵乘法 题面 Luogu-1527 题解 昨天学CDQ分治时做了一些题,但是因为题(wo)太(tai)水(lan)了(le)并没有整理 学了一晚上的整体二分,拿这 ...

  6. java学习小笔记(三.socket通信)【转】

    三,socket通信1.http://blog.csdn.net/kongxx/article/details/7288896这个人写的关于socket通信不错,循序渐进式的讲解,用代码示例说明,运用 ...

  7. @RequestMapping

    可以设定访问的目录,与访问的方式 对象可以是类,也可以是方法 @RequestMapping(value = "/say",method = RequestMethod.GET) ...

  8. 【转】Oracle中插入和取出图片(用BLOB类型)

    原文地址:http://czllfy.iteye.com/blog/66737 其他参考资料地址:http://lavasoft.blog.51cto.com/62575/321882/ 要在orac ...

  9. phpexcel如何读取excel的数据和如何导出数据到excel

    phpexcel如何读取excel的数据和如何导出数据到excel 一.总结 一句话总结:去官网看参考手册和api,或者找中文的博客或者参考手册 1.phpexcel插件如何下载? 其实这些插件不仅可 ...

  10. mysql: 模糊查询 feild like keyword or feild like keyword , concat(feild1,feild2,feild3) like keyword

    mysql: 模糊查询 feild like '%keyword%' or feild like'% keyword%' , 或者 concat(feild1,feild2,feild3) like ...