博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
webpack总结
阅读量:5799 次
发布时间:2019-06-18

本文共 2050 字,大约阅读时间需要 6 分钟。

webpack

  • 总结
    • 前端模块化编程打包工具
    • 可以把模块打包成一个文件,提高访问速度,开发速度,优化用户体验
    • module.exports 导出
    • require() 导入
  • 安装
    • windows: npm install webpack -g
    • mac: sudo npm install webpack -g
  • 使用
    • 命令 webpack test01.js bundle.js
    • 将test01.js文件内容打包到 bundle.js
  • 使用配置文件打包
module.exports = {    devtool:"eval-source-map",//开启调试    entry: "./index.js",//打包index.js文件    output: {        path: __dirname,//输出文件路径        filename: "bundle.js"//输出文件名字    },    module: {        loaders: [//使用webpack loaders模块         	//正则表达式以css结尾 //打包css的模块             { test: /\.css$/, loader: "style-loader!css-loader" }        ]    }};复制代码

webpack 核心模块 loader

Loaders鼎鼎大名的Loaders登场了!Loaders是webpack提供的最激动人心的功能之一了。通过使用不同的loader,webpack有能力调用外部的脚本或工具,实现对不同格式的文件的处理,比如说分析转换scss为css,或者把下一代的JS文件(ES6,ES7)转换为现代浏览器兼容的JS文件,对React的开发而言,合适的Loaders可以把React的中用到的JSX文件转换为JS文件。复制代码

css-loader style-loader 打包css模块

安装:npm install css-loader style-loader

引用:

require("!style-loader!css-loader!./style.css");

打包:webpack test.js bundle.js

require("./style.css");

打包:webpack test.js bundle.js --module-bind 'css=style-loader!css-loader'

插件

例子:安装内置的 BannerPlugin

插件,用于在文件头部输出一些注释信息。

安装:npm install webpack --save-dev

var webpack=require('webpack'); module.exports = {    entry: "./test.js",    output: {        path: __dirname,        filename: "bundle.js"    },    module: {        loaders: [            { test: /\.css$/, loader: "style-loader!css-loader" }        ]    },    plugins:[    new webpack.BannerPlugin('内置的 BannerPlugin 插件,用于在文件头部输出一些注释信息。')    ]};复制代码

开发环境

监听代码更新

安装 npm install webpack-dev-server -g

启动服务器 webpack-dev-server --progress --colors

访问网站 http://localhost:8080

devserver的配置选项 功能描述
contentBase 本地服务器所加载的页面所在的目录
port 设置默认监听端口,如果省略,默认为”8080“
inline 设置为true,当源文件改变时会自动刷新页面
module.exports = {  devtool: 'eval-source-map',  entry:  __dirname + "/app/main.js",  output: {    path: __dirname + "/public",    filename: "bundle.js"  },  devServer: {    contentBase: "./public",//本地服务器所加载的页面所在的目录    historyApiFallback: true,//不跳转    inline: true//实时刷新  } }复制代码

教程

转载于:https://juejin.im/post/5ab0628af265da23884ce0d6

你可能感兴趣的文章
用一条SQL语句实现斐波那契数列
查看>>
[高中作文赏析]跋涉与成功
查看>>
swift-辞典NSDictionary定义,变化的关键,删/加入关键
查看>>
python----slots属性安全类
查看>>
《Programming WPF》翻译 第5章 1.不使用样式
查看>>
.NET垃圾回收:非托管资源,IDispose和析构函数的结合
查看>>
H2内存数据库 支持存储到文件
查看>>
css3处理sprite背景图压缩来解决H5网页在手机浏览器下图标模糊的问题
查看>>
BlockCanary 一个轻量的,非侵入式的性能监控组件(阿里)
查看>>
【HDU 1228】A + B
查看>>
CentOS 7搭建SVN服务器
查看>>
Atitit.远程接口 监控与木马 常用的api 标准化v2 q216
查看>>
闭包实现循环事件添加
查看>>
linux创建文件树,孩子兄弟树(或广义表),创建文件树及其訪问
查看>>
Floyd最短路算法
查看>>
Class.forName(String name)方法,到底会触发那个类加载器进行类加载行为?
查看>>
CentOS 6.6 FTP install
查看>>
C#------判断btye[]是否为空
查看>>
图解Ajax工作原理
查看>>
oracle导入导出小记
查看>>