webpack 配置文件相关解说
博客地址:https://ainyi.com/10
webpack
- 什么是webpack:
- webpack工作方式:
- 安装webpack
//全局安装
npm install -g webpack
//安装到项目目录
npm install webpack --save-dev
- 常见的webpack配置文件
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin'); //html解析导入
const ExtractTextPlugin = require('extract-text-webpack-plugin'); // __dirname 是 node.js 中的一个全局变量,它指向当前执行脚本所在的目录
module.exports = {
entry: __dirname + "/app/main.js", //唯一入口文件
output: {
path: __dirname + "/build", //打包后输出的文件路径
filename: "bundle-[hash].js" //打包后输出的文件名
},
devtool: 'none',
//在package.json中的scripts对象中添加webpack-dev-server命令可开启本地服务器
devServer: {
contentBase: "./public", //本地服务器所加载的页面所在的目录
//在开发单页应用时,它依赖于HTML5 history API,如果设置为true,所有的跳转将指向index.html,也就是不跳转
historyApiFallback: true,
inline: true, //当源文件改变时会自动刷新页面
hot: true //热加载
},
//配置loader
//模块的解析规则
module: {
rules: [
//js 匹配所有的js,用babel-loader转译 排除掉node_modules
{
test: /(\.jsx|\.js)$/,
use: {
loader: "babel-loader"
},
exclude: /node_modules/
},
//css use时如果多个loader,要从右往左写
{
test:/\.css$/,
use:[
{
loader: "style-loader"
},{
loader: "css-loader"
}
]
},
//less
{
test:/\.less$/,
use:[
{
loader: "style-loader"
},{
loader: "css-loader"
},{
loader: "less-loader"
}
]
},
//配置图片 只在10000字节以下转化base64,其他情况下输出原图片
{
test: /\.(png|jpe?g|gif|svg|cur)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('img/[name].[hash:7].[ext]')
}
}
]
}
},
plugins: [
//通过这个插件打包后会在js文件中增加一段注释:/*! 版权所有,翻版必究 */
new webpack.BannerPlugin('版权所有,翻版必究'),
//HtmlWebpackPlugin:依据一个简单的index.html模板,生成一个自动引用你打包后的JS文件的新index.html
//new 一个这个插件的实例,并传入相关的参数,自动插入到dist目录中
new HtmlWebpackPlugin({
//使用的模板
template: __dirname + "/app/index.tmpl.html"
}),
//Hot Module Replacement(HMR)热加载插件:允许你在修改组件代码后,自动刷新实时预览修改后的效果。
//在webpack中实现HMR也很简单,只需要做两项配置
//在webpack配置文件中添加HMR插件;
//在Webpack 的 devServer中添加“hot”参数为true;
new webpack.HotModuleReplacementPlugin(),
new webpack.optimize.OccurrenceOrderPlugin(),
new webpack.optimize.UglifyJsPlugin(),
new ExtractTextPlugin("style.css")
]
};
Loaders
babel
plugins
博客地址:https://ainyi.com/10
webpack 配置文件相关解说的更多相关文章
- webpack优化相关操作
1.缩小文件搜索的范围 • 优化loader配置 尽量精确使用 include 只命中需要的文件. module.exports = { module: { rules: ...
- 为什么我们要做三份 Webpack 配置文件
时至今日,Webpack 已经成为前端工程必备的基础工具之一,不仅被广泛用于前端工程发布前的打包,还在开发中担当本地前端资源服务器(assets server).模块热更新(hot module re ...
- webpack基础+webpack配置文件常用配置项介绍+webpack-dev-server
一.webpack基础 1.在项目中生成package.json:在项目根目录中输入npm init,根据提示输入相应信息.(也可以不生成package.json文件,但是package.json是很 ...
- 调试webpack配置文件
webpack运行在nodejs上,调试webpack就相当于调试nodejs程序.下面介绍一种通用的办法. 1.配置package.json,加一个debug. { 'scripts': { 'de ...
- react暴露webpack配置文件
在react中安装create-react-app脚手架新建项目,但是新建的项目中没有配置文件. webpack的配置文件webpack.base.conf.js隐藏在了node_modules文件夹 ...
- webpack实践(二)- webpack配置文件
webpack系列博客中代码均在github上:https://github.com/JEmbrace/webpack-practice <webpack实践(一)- 先入个门> < ...
- prefetch 和 preload 及 webpack 的相关处理
使用预取和预加载是网站性能和用户体验提升的一个很好的途径,本文介绍了使用 prefetch 和 prefetch 进行预取和预加载的方法,并使用 webpack 进行实现 Link 的链接类型 < ...
- 3.WebPack配置文件
一.为什么需要WebPack配置文件 引用自官方: 在 webpack 4 中,可以无须任何配置使用,然而大多数项目会需要很复杂的设置,这就是为什么 webpack 仍然要支持 配置文件.这比在终端( ...
- 二:搭建一个webpack3.5.5项目:建立项目的webpack配置文件
第一步: npm init -y [初始文件] npm info webpack / bower info webpack[查看版本,用bower的时候要先 npm install bower] np ...
随机推荐
- vim快捷键速查
一.移动 h/j/k/l 左/下/上/右 W w 移动到下一个单词开头 E e 移动到下一个单词结尾 B b ...
- 记录一次Service被注入mapper实例的错误
在一个搭建框架为SSM的项目中,有一个需求是数据库更新同步Solr索引库的数据. 在使用ActiveMQ作为中间件,实现这个需求时却发生了一个错误. 在Listener实现类里我想注入一个Servic ...
- List、Set、数据结构、Collections
一.数据结构: 1.什么是数据结构: 一种数据的存储方式 2.常见的4+1种数据结构 堆栈结构: 它是只有一个开口的容器结构 特点: 先进后出(FILO) 例子:弹夹,桶装可比克 队列结构: 它是两端 ...
- R_展示变量之间关系的图形
#绘制普通矩阵散点图 plot(dataframe) #绘制带有拟合直线,最佳拟合曲线和直方图的矩阵散点图 library(car) attach(dataframe) scatterplotMatr ...
- [转]OpenContrail 体系架构文档
OpenContrail 体系架构文档 英文原文:http://opencontrail.org/opencontrail-architecture-documentation/ 翻译者:@KkBLu ...
- 2018年1月20日上海MVP线下技术分享会纪实
1月20日正值大寒节气,在微软MVP朱兴亮的组织牵头下,上海MVP自发举办了题为<跟社区专家一起聊聊混合云.领域驱动.区块链和数字营销>的技术交流会.四名来自上海的MVP分别在自己擅长的技 ...
- [ARCH] 1、virtualbox中安装archlinux+i3桌面,并做简单美化
星期六, 28. 七月 2018 02:42上午 - beautifulzzzz 1.安装ArchLinux系统 安装Arch主要看其wiki,比较详细- 中文的我主要参考:一步步教你如何安装 Arc ...
- 7.侧滑、ViewDragHelper、属性动画
实现这样的效果: ## 侧滑面板(对ViewGroup的自定义)* 应用场景: 扩展主面板的功能* 功能实现: > 1. ViewDragHelper: Google2013年IO大会提出的, ...
- python写的计算器
import tkinter #导入tkinter模块 root = tkinter.Tk()root.minsize(280,500)root.title('xx的计算器') #1.界面布局#显示面 ...
- 站点的rel="alternate"属性
概述 今天看决战平安京官网源码,突然看到了rel的alternate属性,百度了一下,记录下来,供以后开发时参考,相信对其他人也有用. PC端rel 在pc版网页上,添加指向对应移动版网址的特殊链接r ...