webpack4
本地安装:
npm init -y
cnpm install webpack webpack-cli webpack-dev-server --save-dev
然后装一些所需要的loader和插件:
如:
const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
/*
__dirname:当前文件夹的绝对路径
path.join() 将第一个参数和第二个参数进行链接
*/
const PATH = {
main:path.join(__dirname,"./src/index.js"),
build:path.join(__dirname,"./build")
}
//下面的代码都是 webpack的配置项
module.exports = {
entry:{
//这里面的key值决定了下面name的名字叫什么
main:PATH.main
},
output:{
filename:"[name].js",//app.js
path:PATH.build
},
mode:"development",
//做模块的处理 用loader进行处理
module: {
rules:[
{
test:/\.jsx?$/,
use:{
loader:"babel-loader",
options:{
presets:["@babel/env","@babel/react"]
}
}
},
{
test:/\.(css)$/,
use:[
{
loader: MiniCssExtractPlugin.loader,
options: {
//publicPath: "/"
}
},
{
loader: "css-loader",
options: {
importLoaders: 1,
minimize: process.env.NODE_ENV == "production"
}
},
{
loader: "style-loader"
}
]
},
{
test: /\.(jpe?g|png|gif|svg)/,
use: {
loader: "url-loader",
options: {
limit: 1024,
outputPath: "images/",
name: "[name].[ext]"
}
}
},
{
test: /\.(eot|ttf|woff2?)/i,
use: {
loader: "url-loader",
options: {
outputPath: "fonts/",
name: "[name].[ext]"
}
}
}
]
},
plugins:[
new HtmlWebpackPlugin({
filename:"index.html",
template:"./index.html",
hash: true
}),
new MiniCssExtractPlugin({
filename: "css/[name].bundle.css",
chunkFilename: "css/[name].chunk.css"
})
],
resolve: {
extensions: [".js", ".jsx", ".json", ".css", ".html"]
},
devtool: "source-map",//该选项控制是否以及如何生成源映射。选择一种源映射样式,以增强调试过程。这些值可以显著地影响构建和重建速度。source-map之后你会发现你的 output 目录下多了一个 index.js.map 文件,此文件记录了sourceMap 行列信息如何映射源代码的信息
devServer: {//访问本地静态文件
compress: false,
//contentBase: "./public",
port: 8080,
proxy: {
"/": "http://localhost:3000"
}
}
}
webpack4的更多相关文章
- mini-css-extract-plugin 的用法(webpack4)
今天在使用webpack的extract-text-webpack-plugin插件提取单独打包css文件时,报错,说是这个插件要依赖webpack3的版本. 后面查了一下,webpack4得使用mi ...
- webpack4: compilation.mainTemplate.applyPluginsWaterfall is not a function 解决方法
今天捣鼓webpack4踩到一个弥天大坑:使用html-webpack-plugin打包html的时候一直报 compilation.mainTemplate.applyPluginsWaterfal ...
- webpack4新特性介绍
导语: webpack是一个JS应用打包器, 它将应用中的各个模块打成一个或者多个bundle文件.借助loaders和plugins,它可以改变.压缩和优化各种各样的文件.它的输入是不同的资源,比如 ...
- webpack4.1.1的使用详细教程
安装全局webpack cnpm install -g webpack 安装全局webpack-cli npm install -g webpack-cli 初始化:生成package.json文件 ...
- webpack4.x配置详解,多页面,多入口,多出口,新特性新坑!!
花了差不多一天多的时间,重新撸了一遍webpack4.x的常用配置. 基本上常用的配置都熟悉了一遍,总体上来讲,为了对parcel进行反击,webpack从4.x开始,正在朝着尽可能的简化配置文件的方 ...
- webpack4 splitChunksPlugin && runtimeChunkPlugin 配置杂记
webpack2 还没研究好,就发现升级到4了,你咋这么快~ 最近要做项目脚手架,项目构建准备重新做,因为之前写的太烂了...然后发现webpack大版本已经升到4了(又去看了一眼,4.5了),这么快 ...
- webpack4:连奏中的进化
webpack4在2月底的时候发布,这次webpack4有了一个名字"Legato",也就是"连奏"的意思,寓意webpack在不断进化,而且是无缝(no-ga ...
- React从入门到放弃之前奏(1):webpack4简介
接触webpack是好久之前的事情了,最近看了下webpack没想到都到4了. webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler). 会创建1个 ...
- 带你由浅入深探索webpack4(二)
在前一篇文章已经介绍了webpack4从入门到一些核心常用的用法,大家可以从上一篇文章看起.带你由浅入深探索webpack4(一) 接着上一章,接下来我们会继续探讨webpack4中的各种实用用法,让 ...
- webpack4打包nodejs项目进阶版——多页应用模板
前段时间我写了个打包nodejs项目的文章,点击前往 但是,问题很多.因为之前的项目是个历史遗留项目,重构起来可能会爆炸,当时又比较急所以就写个的适用范围很小的webpack的打包方法. 最近稍微得空 ...
随机推荐
- H5 和 CSS3 新特性
博客地址:https://ainyi.com/52 H5 新特性 语义化标签:header.footer.section.nav.aside.article 增强型表单:input 的多个 type ...
- [.NET] 《Effective C#》快速笔记(一)- C# 语言习惯
<Effective C#>快速笔记(一)- C# 语言习惯 目录 一.使用属性而不是可访问的数据成员 二.使用运行时常量(readonly)而不是编译时常量(const) 三.推荐使用 ...
- 基于C#&.net2.0的windows服务创建与安装
起因:一台服务器中部署的程序,停电后未按照计划任务正常启动. 一.创建并配置Windows服务程序 开发工具VS2015 Framework版本2.0 1.新建Windows服务 2.在Service ...
- php7 闭包调用
早起的版本如 PHP5.6 ,绑定并调用闭包使用 bindTo,而PHP7 中 Closure :: call()方法具有更好的性能,废话不多说, 较早的 PHP 示例: <?php class ...
- 学JAVA的第二天,静态网站制作,脑阔一点疼
先从下载apache-tomcat-9.0.17开始 在下边这个网站下载,下边一步步来 下面删除的这些是暂时用不上的,先吧它删除了,因为会拖慢启动速度 下边把ROOT里边除WEB-INF外的全不删除了 ...
- 使用vue-cli 初始化 vue 项目
1. 安装nodejs 2. 安装 vue-cli npm install -g vue-cli 安装前可以通过设置代理为淘宝仓库地址,以加快下载速度. npm config set registry ...
- Hacking /dev/random: Pipe
1) 下载镜像,虚拟机启动 https://download.vulnhub.com/devrandom/pipe.ova 2) nmap 扫描探测 Nmap 扫描开路: ╰─ nmap -Pn -s ...
- Windchill基本业务对象-文档
文档的类型: (1)WTDocumetManster :是文档的主要信息,一个文档只有一条记录:(2)WTDocument:是文档小版本记录,每一个文档小版本都有一条记录: 备注:(1)文档大版本记录 ...
- Ansible第一篇:介绍及安装
Ansible介绍 Ansible是个什么东西呢?官方的title是"Ansible is Simple IT Automation"--简单的自动化IT工具.ansible基于P ...
- MySQL 基础知识梳理学习(三)----InnoDB日志相关的几个要点
1.InnoDB的特点 :(1)Fully ACID (InnoDB默认的Repeat Read隔离级别支持):(2)Row-level Locking(支持行锁):(3)Multi-version ...