webpack4 打包
1. 基本安装及命令
npm config set registry https://registry.npm.taobao.org // 淘宝镜像
npm install webpack-cli -g // 安装之后才能 webpack -v
webpack index.js -o out.js // 打包指定文件 指定输出路径及名称
webpack --mode development index.js -o out.js // 指定打包方式为开发模式(默认为产品模式:去除console命令及其他未引用代码)
( src - dist 4.0版本默认不需配置《代码资源放置在src,生成的代码资源放置在dist 》,但也可以增加配置文件 webpack.config.js )
常用的 webpack.config.js
var path = require('path'); module.exports = {
entry: './src/index.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'out')
}
};
webpack --mode development // 只用 webpack,则默认为 production 模式,去除多余部分及调试提示
2. 合并打包
var path = require('path'); module.exports = {
entry: ['./src/a.js','./src/b.js','./src/c.js'],
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'out')
}
};
3. 分块打包
var path = require('path'); module.exports = {
entry: {
a:'./src/a.js',
b:'./src/b.js',
c:'./src/c.js'
},
output: {
filename: '[name].build.js',
path: path.resolve(__dirname, 'out')
}
};
4. 配置属性为开发模式 mode: development
5.url-loader 处理小图片
npm init
npm install url-loader --save
npm install file-loader --save // 图片尺寸超过限制时使用
var path = require('path'); module.exports = {
entry: './src/index.js',
output: {
filename: 'bundle.js',
publicPath: './out/', // 最后的 / 不可少,两个 out 对应,确保 生成的大文件图片路径正确
path: path.resolve(__dirname, 'out')
},
mode:'production',
module: {
rules: [
{
test: /\.(png|jpg|gif)$/,
use: [
{
loader: 'url-loader',
options: {
limit: 8192
}
}
]
}
]
}
};
6. 引入 jquery expose-loader
npm install expose-loader --save-dev
npm install jquery --save
var path = require('path'); module.exports = {
entry: './src/index.js',
output: {
filename: 'bundle.js',
publicPath: './out/', // 最后的 / 不可少,两个 out 对应,确保 生成的大文件图片路径正确
path: path.resolve(__dirname, 'out')
},
mode:'production',
module: {
rules: [
{
test: /\.(png|jpg|gif)$/,
use: [
{
loader: 'url-loader',
options: {
limit: 8192
}
}
]
},
{
test: require.resolve('jquery'),
loader: 'expose-loader?jQuery!expose-loader?$!expose-loader?scrollable'
}
]
}
};
使用 import $ from 'expose-loader?$!jquery';
相关链接:
webpack:使用expose-loader 解决第三方库的插件依赖问题
webpack4 打包的更多相关文章
- webpack4打包nodejs项目进阶版——多页应用模板
前段时间我写了个打包nodejs项目的文章,点击前往 但是,问题很多.因为之前的项目是个历史遗留项目,重构起来可能会爆炸,当时又比较急所以就写个的适用范围很小的webpack的打包方法. 最近稍微得空 ...
- webpack4 打包静态资源
demo 代码点此,开始之前,先做点准备工作. 准备工作 准备一个空文件夹,然后执行下列命令: npm init -y npm i -D webpack webpack-cli 然后创建一个 dist ...
- webpack4打包报错ERROR in multi ./src/main.js dist/bundle.js
webpack打包测试: 上边将mode01.js模块及main.js主文件编写完成,下边使用webpack对这些js文件进行打包 1.进入程序目录,执行webpack main.js build.j ...
- webpack4 打包优化
1 参考文章 彻底解决 webpack 打包文件体积过大 webpack4提升180%编译速度 详解webpack4之splitchunksPlugin代码包分拆 webpack v4 中的断舍离 开 ...
- webpack4 打包 library 遇到的坑
output: { publicPath: '/', path: path.join(__dirname, 'lib'), filename: 'chart.js', library: 'tchart ...
- 详解webpack4打包--新手入门(填坑)
注意,这个dev和build好像在哪儿见过??对了, 刚刚才在package.json里配置的“scripts”这一项的值就有“dev”和“build”.对,一点都不错,就是这2个值,这2个值代表的是 ...
- webpack4 打包报错 :regeneratorRuntime is not defined
使用async函数,在webpack打包时报错 babel-polyfill is required. You must also install it in order to get async/a ...
- webpack4打包报错:WARNING in configuration The 'mode' option has not been set, webpack will fallback to 'production' for this value. Set 'mode' option to 'development' or 'production' to enable defaults fo
运行命令webpack ./src/main.js ./dist/murenziwei.js后,目录上神马动静都没有,你以为在dist文件夹上会有murenziwei.js吗?毛都没有 警告和错误倒是 ...
- webpack4——打包html报错解决
①先引入html-webpack-plugin插件,然后在终端下载 npm install --save-dev html-webpack-plugin ②我的文件结构 ③修改webpack.dev. ...
随机推荐
- [Java]一段尚未雕琢的分词代码
package com.hy; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStrea ...
- leetcode1281 整数的各位积和之差
class Solution { public: int subtractProductAndSum(int n) { ; ; ){ ; n/=; prod*=r; add+=r; } int res ...
- LC 655. Print Binary Tree
Print a binary tree in an m*n 2D string array following these rules: The row number m should be equa ...
- LC 683. K Empty Slots 【lock,hard】
There is a garden with N slots. In each slot, there is a flower. The N flowers will bloom one by one ...
- git push 本地项目推送到远程分支[z]
大家有的时候,会在本地新建项目,这里说一下在本地项目建立本地git仓库,然后push到远程仓库的步骤 1.在本地项目的文件夹下,git仓库初始化 git init 初始化本地git仓库 2. git ...
- Flyway:数据库版本迁移工具的介绍
目录 Flyway介绍 Flyway的工作模式 Flyway的使用场景 命令行 使用Maven或Gradle插件 migrate clean info validate baseline Java A ...
- java之数据填充PDF模板
声明:由于业务场景需要,所以根据一个网友的完成的. 1.既然要使用PDF模板填充,那么就需要制作PDF模板,可以使用Adobe Acrobat DC,下载地址:https://carrot.ctfil ...
- C#session配置
web Form 网页是基于HTTP的,它们没有状态, 这意味着它们不知道所有的请求是否来自同一台客户端计算机,网页是受到了破坏,以及是否得到了刷新,这样就可能造成信息的丢失. 于是, 状态管理就成了 ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_汇总
小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介 小D课堂 - 新版本微服务springcloud+Docker教程_1_02技术选型 小D课堂 - 新版本微服务s ...
- 一张图搞懂Ajax原理
本文整理在,我的github上.欢迎Star. 原理 说起ajax,就不得不说他背后的核心对象XMLHttpRequest,而说到XMLHttpRequest我觉得,从它的readyState状态说起 ...