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. ...
随机推荐
- 发布Rest风格的WebService的SpringBoot极简例子
JDK:1.8.0_212 IDE:STS4(Spring Tool Suit4 Version: 4.3.2.RELEASE) 工程下载:https://files.cnblogs.com/file ...
- HTML页面间传值
页面一: window.location="./showUserMsg.html?IDno="+IDno+"&&thedate="+thedat ...
- LC 676. Implement Magic Dictionary
Implement a magic directory with buildDict, and search methods. For the method buildDict, you'll be ...
- 小程序API:wx.showActionSheet 将 itemList动态赋值
1.发现问题: 小程序调用API:wx.showActionSheet 时发现无论如何都不能将其属性itemList动态赋值. 2.分析问题: 首先我认为可能是格式的问题,itemList必须要求格式 ...
- flutter Could not find the built application bundle at build/ios/iphonesimulator/Runner.app
运行flutter run时报错 提示如下: Could not find the built application bundle at build/ios/iphonesimulator/Runn ...
- ubuntu快速联网
1:打开ubuntu 2:设置 特殊:red hat设置视频:http://www.jikexueyuan.com/course/1349_3.html?ss=1
- js __proto__ 和prototype的联系
1.Javascript中所有的对象都是Object的实例,并继承Object.prototype的属性和方法,也就是说,Object.prototype是所有对象的爸爸.(个人感觉搞清楚这一点很重要 ...
- mysql的基本操作命令
1,数据库操作: create database 数据库名 例:create database test; 亦或 create database test charset=utf8; 相关操作: 显示 ...
- BOM Summary P268-P269
The Browser Object Model(BOM) is based on the window object, which represents the browser window and ...
- vlc 控件属性和方法
VLC调研 VLC控件支持的参数和方法 VLC对象列表 Vlc Plugin Object的方法 l VersionInfo:成员, 返回版本信息的字符串 l vlc.ve ...