webpack官网笔记

webpack,the flexible module bundler,灵活的模块打包工具

安装 (Installation)

node.js

如果系统未安装node.js,先安装 node.js

命令行方式使用webpack

全局安装(最佳实践不采用这种方式,采用项目中使用方式)

npm i webpack -g

项目配置使用webpack

  1. 输入以下命令在根目录增加 package.json
npm init
  1. 安装webpack
npm i webpack -D
  1. 安装开发工具(可选
npm i webpack-dev-server -D

使用(Usage)

命令行方式

  1. 建立 cats.js
var cats = ['dave','henry','martha'];
module.exports = cats;
  1. 建立入口文件 app.js
var cats = require('./cats.js);
console.log(cats);
  1. 命令行打包
webpack ./app.js app.bundle.js
  1. 任务完成,可以运行打包出来的文件
node app.bundle.js
["dave","henry","martha"]

配置文件方式

  1. 项目结构


    1.png
  2. 安装webpack依赖
npm i -D webpack
  1. 根目录创建 webpack.config.js webpack配置文件并配置
module.exports = {
    entry:'./src/app.js',
    output:{
        path:'./bin',
        filename:'app.bundle.js'
    }
};
  1. 输入命令
webpack
  1. 任务完成,可以运行打包出来的文件
node app.bundle.js
["dave","henry","martha"]

使用loaders

webpack通过使用loaders将非js资源转成webpack可以使用的静态资源,有各种不同功能的 loaders, 这里通过 babel-loader 举个例子

  1. 安装依赖
npm i -D babel-core babel-preset-es2015 babel-loader
  1. 根目录下创建文件 .babelrc 并配置
{"presets":["es2015"]}
  1. 配置 webpack.config.js
module.exports = {
    entry:'./src/app.js',
    output:{
        path:'./bin',
        filename:'app.bundle.js'
    },
    module:{
        loaders:[{
            test:/\.js$/,
            exclude:/node_modules/,
            loader:'babel'
        }]
    }
};
  1. 安装项目要使用的依赖
npm i -S jquery babel-polyfill
  1. 编辑 src/app.js
    import 'babel-polyfill';
    import cats from './cats';
    import $ from 'jquery';

    $('<h1>Cats</h1>').appendTo('body');
    const ul = $('<ul></ul>').appendTo('body');
    for (const cat of cats) {
        $('<li></li>').text(cat).appendTo(ul);
    }
  1. 输入命令
    webpack
  1. 完成,请享用

使用plugins

举个例子,这里用 uglify plugin

const webpack = require('webpack');

module.exports = {
    entry: './src/app.js',
    output: {
        path: './bin',
        filename: 'app.bundle.js',
    },
    module: {
        loaders: [{
            test: /\.jsx?$/,
            exclude: /node_modules/,
            loader: 'babel-loader',
        }]
    },
    plugins: [
        new webpack.optimize.UglifyJsPlugin({
            compress: {
                warnings: false,
            },
            output: {
                comments: false,
            },
        }),
    ]
}

使用loaders (Using loaders)

使用plugins (Using plugins)

*转载请注明出处

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过...
    阳阳阳一堆阳阅读 8,591评论 0 5
  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 12,547评论 7 35
  • GitChat技术杂谈 前言 本文较长,为了节省你的阅读时间,在文前列写作思路如下: 什么是 webpack,它要...
    萧玄辞阅读 14,335评论 7 110
  • 作者:小 boy (沪江前端开发工程师)本文原创,转载请注明作者及出处。原文地址:https://www.smas...
    iKcamp阅读 7,662评论 0 18
  • 世界上最愚蠢的两件事:一是毕业后不再学习。二是结婚后不再谈恋爱。 当然,不要想歪了,不是提倡你婚外搞恋爱!而是要你...
    龙翠阅读 3,465评论 2 7